如何根据提供的html检索标签文本?

时间:2018-08-20 17:13:03

标签: selenium selenium-webdriver xpath css-selectors webdriver

有时我无法获取网络元素的内部文本;最近从事人身保险工作,但未获取标签(网络元素)的内部文本。以下是检查过的网页的脚本和屏幕截图:

WebElement detailPostCode =driver.findElement(By.xpath("//label[@for='q_codePostalDetailAU']"));
System.out.println("postcode label text "+detailPostCode.getText());

有什么可以帮助我理解问题的吗?谢谢您的关心。

screenshot of the page-inspection view of the webelement

2 个答案:

答案 0 :(得分:1)

根据 HTML ,您已将<label>与文本共享为邮政编码是{{的子节点 1}}标签,其 class 属性为 q_codePostal

出了什么问题?

根据您使用的代码试用版:

<div>

在此表达式中,WebElement detailPostCode = driver.findElement(By.xpath("//label[@for='q_codePostalDetailAU']")); 始终将降序的//label[@for='q_codePostalDetailAU']标记与<input>属性一起称为 q_codePostalDetailAU 。因此,您的代码试用不起作用。

解决方案

或者,您可以使用以下解决方案:

id

答案 1 :(得分:0)

您可以尝试以下xpath:

driver.findElement(By.xpath("//div[@class='q_codePostal']/label"));