我需要用硒獲取 td 元素的文本。我在提取文本時遇到問題,我只收到空值。我試過用過的串列getText()等等。HTML 代碼在圖片上,元素看起來就像您在圖片上看到的一樣。
getDriver().findElement(By.xpath("//*[@id=\"standortTable\"]/tbody/tr/td[2]")).isDisplayed();
String test = getDriver().findElement(By.xpath("//*[@id=\"standortTable\"]/tbody/tr/td[2]")).getText();
System.out.println(test);
但我收到NULL,只是“”。

uj5u.com熱心網友回復:
我猜你錯過了等待,即你試圖在完全呈現之前閱讀元素文本內容。
嘗試這個:
WebDriverWait wait = new WebDriverWait(getDriver(), 30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//table[@id='standortTable']//td[@aria-colindex='2']")));
String test = getDriver().findElement(By.xpath("//table[@id='standortTable']//td[@aria-colindex='2']")).getText();
System.out.println(test);
uj5u.com熱心網友回復:
該元素是一個角元素,所以要提取文本Teststandort1你有誘導WebDriverWait的visibilityOfElementLocated(),你可以使用以下的定位策略:
使用xpath和
getText():System.out.println(new WebDriverWait(getDriver(), 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//table[@id='standortTable']//tbody//tr[@class='ng-star-inserted']//td[@aria-colindex='2']"))).getText());使用cssSelector和
getAttribute("innerHTML"):System.out.println(new WebDriverWait(getDriver(), 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("table#standortTable tbody tr.ng-star-inserted td[aria-colindex='2']"))).getAttribute("innerHTML"));
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/364303.html
