Selenium Java-通过JavascriptExecutor获取页面源代码
Selenium Java - Fetching page source via JavascriptExecutor
我想在页面因一些ajax请求而更改后读取页面的源代码。由于我的想法不多了,我尝试了JavaScript,但executeScript()
函数总是返回null。任何帮助都将不胜感激。
我使用FirefoxDriver
。我的代码如下:
Object test = ((JavascriptExecutor) firefox).executeScript("function getHTML(){ return document.body.innerHTML;} getHTML();");
System.out.println(test);
您需要从脚本返回一些东西:
Object test = ((JavascriptExecutor) firefox).executeScript("return document.body.innerHTML;");
我假设dom没有处于就绪状态,并且您试图获取的速度太快。我稍微修改了alecxe的答案,添加了额外的显式等待,以确保dom处于就绪状态。此程序将等待10秒,以确保dom处于就绪状态。
Wait<WebDriver> wait = new WebDriverWait(driver,10);
wait.until(new Function<WebDriver, Boolean>() {
public Boolean apply(WebDriver driver) {
return ((JavascriptExecutor) driver).executeScript("return document.readyState;").equals("complete");
}
});
Object test = ((JavascriptExecutor) driver).executeScript("return document.body.innerHTML;");
相关文章:
- 活动选项卡's源代码-获取变量s值
- 如何从函数名称中获取JavaScript的源代码
- 获取函数原型的源代码
- 获取外部javascript的完整源代码
- 如何使用javascript获取页面源代码
- 让浏览器获取源代码并重新编译脚本以进行实时编辑
- Selenium Java-通过JavascriptExecutor获取页面源代码
- 使用jquery获取其他域名网站的源代码
- 使用美丽汤获取“视图元素”代码,而不是“查看源代码”代码
- 如何从 URL HTML 源代码中获取特定信息
- 如何在不获取整个源代码的情况下解析 HTML 源代码
- 加载页面以获取cookie并同时读取源代码
- 获取外部页面的源代码**使用本机JS**
- 我可以使用Jquery获取元素的HTML源代码吗?
- 在 php 中获取页面的源代码
- 使用 javascript 和 DOM 获取当前页面的源代码
- 获取格式正确的 html 源代码
- 在 Python 中使用请求获取页面但不使用源代码,为什么?如何获取源代码
- 如何从网页获取源代码
- 使用javascript获取html源代码,包括样式