因此,有几篇关于如何查询dom以通过xpath查找元素的帖子。我发现了一个帖子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开发用户脚本,并且必须将脚本保留为异步,否则我只需删除异步属性。
任何方法都可以查询文档中的脚本,直到其他所有内容之后才会加载?
谢谢!
答案 0 :(得分:0)
async
属性会导致脚本无法阻止,因此无法确定何时加载。但是,您可以确定何时使用以下代码加载DOM:
document.onreadystatechange = function () {
if (document.readyState === "complete") {
var path = "//script[@src='locationOfScript']";
// etc...
}
}