我正在尝试使文本显示在Dom结构中,但我无法理解,我使用了getText();
和getAttribute();
,但是没有使用值,内部html,外部html,文本等必须在getAttribute()中提及;但是无法获取该文本可以帮助我从中获取文本。
<label class="">
<input type="checkbox" value="ml+4gvbuEG8Y3bBbAEbQvA==" name="selectedemployees" class="checkall">Alberta Weekly1
</label>
我想在控制台中获得“艾伯塔周刊1”文本
要获取文本Alberta Weekly1
,您需要诱导WebDriverWait
和visibilityOfElementLocated()
并使用下面的XPATH
选项。
WebDriverWait wait = new WebDriverWait(driver, 30);
String textval=wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//label[./input[@name='selectedemployees']]"))).getText();
System.out.println(textval);
您也可以在给定的xpath下尝试。
//label//child::input[@class='checkall' and @name='selectedemployees']
要提取文本Alberta Weekly1,您需要为visibilityOfElementLocated()
引入WebDriverWait,并且由于所需的节点是text node,因此可以将executeScript()
方法与以下任一方法一起使用以下executeScript()
:
xpath 1:
Locator Strategies
xpath 2:
System.out.println(((JavascriptExecutor)driver).executeScript("return arguments[0].lastChild.textContent;", new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//label[./input[@class='checkall' and @name='selectedemployees']]")))).toString());