簡體   English   中英

使用硒單擊按鈕后如何獲取頁面源

[英]How to get page source after button click using selenium

單擊搜索按鈕后,我試圖獲取頁面源。 這是我的代碼:

WebDriver driver = new ChromeDriver();
driver.get(page);
WebElement el = driver.findElement(By.xpath(xpath)); // button
el.click();
driver.getPageSource();

並且此代碼返回第一頁的頁面源,而不是單擊后加載的頁面源。

在獲取頁面源代碼之前,您需要顯式等待新頁面加載 這通常取決於您正在使用的網頁。 例如,您可能要等到特定元素變為可見為止:

WebDriverWait wait = new WebDriverWait(webDriver, 5);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("myid")));

driver.getPageSource();

實際上,您不應該依賴該方法,因為不能保證它代表您的當前狀態,實現也取決於您使用的特定驅動程序。

文檔

 java.lang.String getPageSource() 

獲取上次加載頁面的來源。 如果在加載后修改了頁面(例如,通過Javascript),則不能保證返回的文本是修改后的頁面的文本。 請查閱所使用的特定驅動程序的文檔,以確定返回的文本是頁面的當前狀態還是Web服務器最后發送的文本。 返回的頁面源是底層DOM的表示形式:不要期望它以與從Web服務器發送的響應相同的方式進行格式化或轉義。 可以將其視為藝術家的印象。

 Returns: The source of the current page 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM