繁体   English   中英

Selenium驱动程序无法反映click()之后的页面更改

[英]Selenium driver does not reflect page changes after click()

以下代码返回的源无法反映调用click()后由javascript引起的网页更改。 我想念什么?

driver.findElement(By.xpath(xpath)).click(); // changes page content
Thread.sleep(10000);
String src = driver.getPageSource(); // src does not reflect changes

您不应该依赖于webdrivers getPageSource()方法。

从文档:

getPageSource

java.lang.String getPageSource()

获取上次加载页面的来源。 如果在加载后修改了页面(例如,通过Javascript),则不能保证返回的文本是修改后的页面的文本。 请查阅所使用的特定驱动程序的文档,以确定返回的文本是页面的当前状态还是Web服务器最后发送的文本。 返回的页面源是底层DOM的表示形式:不要期望它以与从Web服务器发送的响应相同的方式进行格式化或转义。 可以将其视为艺术家的印象。

返回值:当前页面的来源

http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/WebDriver.html#getPageSource%28%29

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM