我正在使用 PhantomJSDriver 使用 Java 和 Selenium 读取和解析页面。到目前为止,一切都很好。当页面每 30 秒加载一次时,就会从此加载页面包含的脚本之一执行 Ajax 调用。
我的问题:有没有办法停止执行某些或任何异步 Javascript 请求,至少是暂时的?
我遇到的问题是,如果我在这 30 秒之前没有完成“解析”页面,WebElements 就会变得陈旧,我需要重新开始......
最佳答案
如果解析页面的时间超过 30 秒,那么您可能采用了错误的方式。 无论如何,如果您仍然希望禁用所有 Ajax 调用:
((JavascriptExecutor)driver).executeScript(
"var p=window.XMLHttpRequest.prototype; p.open=p.send=p.setRequestHeader=function(){};");
关于java - 如何使用 Selenium API 禁用来自已加载页面的 Ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250479/