簡體   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