问题-我正在使用RPA测试是否加载了一个/任何网页(在转到下一行代码之前)。在我的RPA程序中,没有此类函数可帮助解决此问题。此RPA程序(Automation Anywhere)支持Javascript。我想知道Javascript是否有任何功能来测试网页是否完全加载(所有组件、所有脚本、所有图像等)谢谢大家!
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树,并注入你自己的脚本。这在自动化框架中可能是不可能的。如果下一个自动化步骤依赖于要加载的特定元素,则应该直接以该元素为目标。
chhqkbe12#
我有两种方法给你:
window.addEventListener('load', function() { // The page is fully loaded });
function isPageLoaded() { return document.readyState === 'complete'; }
希望有帮助。
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 } };
jgwigjjp4#
代码:
document.addEventListener('DOMContentLoaded', function() { //do something... });
这是非常容易使用,你可以使用DOMContentLoaded,如果你想使一个 chrome 应用程序
4条答案
按热度按时间watbbzwu1#
“Javascript”没有这样的东西。我猜你是指“浏览器”和它的DOM API。
我认为,由于网页的“动态”性质,你永远不能100%肯定,该页面没有一个异步请求闲置的地方。
对于流程自动化,我假设:
https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
是最好的选择。为了使它工作,你必须能够访问浏览器的DOM树,并注入你自己的脚本。这在自动化框架中可能是不可能的。
如果下一个自动化步骤依赖于要加载的特定元素,则应该直接以该元素为目标。
chhqkbe12#
我有两种方法给你:
希望有帮助。
lc8prwob3#
如果您可以访问网页的文档对象,那么就可以解决您的问题。
https://developer.mozilla.org/en-US/docs/Web/API/Document
或
jgwigjjp4#
只需使用DOM内容加载
代码:
这是非常容易使用,你可以使用DOMContentLoaded,如果你想使一个 chrome 应用程序