javascript 确保网页已完全加载

nsc4cvqm  于 2023-01-04  发布在  Java
关注(0)|答案(4)|浏览(151)

问题-我正在使用RPA测试是否加载了一个/任何网页(在转到下一行代码之前)。在我的RPA程序中,没有此类函数可帮助解决此问题。此RPA程序(Automation Anywhere)支持Javascript。
我想知道Javascript是否有任何功能来测试网页是否完全加载(所有组件、所有脚本、所有图像等)
谢谢大家!

watbbzwu

watbbzwu1#

“Javascript”没有这样的东西。我猜你是指“浏览器”和它的DOM API。
我认为,由于网页的“动态”性质,你永远不能100%肯定,该页面没有一个异步请求闲置的地方。
对于流程自动化,我假设:
https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event

window.addEventListener("load", (event) => {
  // do something to signal the automation bot that everything is loaded.
});

是最好的选择。为了使它工作,你必须能够访问浏览器的DOM树,并注入你自己的脚本。这在自动化框架中可能是不可能的。
如果下一个自动化步骤依赖于要加载的特定元素,则应该直接以该元素为目标。

chhqkbe1

chhqkbe12#

我有两种方法给你:

window.addEventListener('load', function()
{
    // The page is fully loaded
});
    • 或**
function isPageLoaded()
{
    return document.readyState === 'complete';
}

希望有帮助。

lc8prwob

lc8prwob3#

如果您可以访问网页的文档对象,那么就可以解决您的问题。
https://developer.mozilla.org/en-US/docs/Web/API/Document

if (document.readyState === 'complete') {
  // The page is fully loaded
}

document.onreadystatechange = () => {
  if (document.readyState === 'complete') {
    // document ready
  }
};
jgwigjjp

jgwigjjp4#

只需使用DOM内容加载

代码:

document.addEventListener('DOMContentLoaded', function() {  
    //do something...
});

这是非常容易使用,你可以使用DOMContentLoaded,如果你想使一个 chrome 应用程序

相关问题