要做到这一点,您必须将
这将在使用
我的目标是在DOMContentLoaded事件之前更改页面的DOM。假设我的JS看起来像下面的代码,我想更改一个元素的值:
document.addEventListener("DOMContentLoaded", function(event) {
console.log("Value of element foo: " + document.getElementById('foo').value);
});
我知道用SeleniumWebDriver的JavascriptExecutor
来更改DOM,但我不知道如何在"DOMContentLoaded"之前执行它(也许这不是正确的方法(。
// some hook or whatever to execute right before 'DOMContentLoaded' or wherever suitable
((JavascriptExecutor) webDriver).executeScript("document.getElementById('foo').value='hi there'");
pageLoadStrategy
从默认的normal
设置为none
这将在使用
driver.get()
方法启动页面后立即将控制传递到下一个代码行,而无需等待加载页面内容。