gpt4 book ai didi

javascript - 使用 "//script[contains (@src, ' blah') 查找异步脚本

转载 作者:行者123 更新时间:2023-11-28 07:23:29 26 4
gpt4 key购买 nike

因此有几篇文章介绍了如何通过 xpath 查询 dom 来查找元素。我发现了一个帖子,Is there a way to get element by XPath using JavaScript in Selenium WebDriver? ,基本上可以满足我的需求。我的问题源于这样一个事实:我尝试查找的元素是一个脚本,并且该脚本需要异步加载。这似乎打破了使用寻找其路径

var path = "//script[contains (@src, 'locationOfScript')]";

我认为根本原因可能是 Chrome 将异步脚本加载延迟到页面完成后:Chrome delays load of script with async attribute .

我正在 Chrome 中开发用户脚本,并且必须将脚本保留为异步,否则我只会删除异步属性。

有什么方法可以查询文档中的脚本,直到完成其他操作之后才会加载吗?

谢谢!

最佳答案

async 属性将导致脚本不会阻塞,因此您无法确定它何时加载。但是,您可以使用以下代码确定 DOM 何时加载完毕:

document.onreadystatechange = function () {
if (document.readyState === "complete") {
var path = "//script[@src='locationOfScript']";
// etc...
}
}

关于javascript - 使用 "//script[contains (@src, ' blah') 查找异步脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30019299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com