在硒中获取text()不会返回文本

时间:2019-09-16 14:34:50

标签: java selenium selenium-webdriver xpath webdriverwait

我对xpath有疑问。我尝试使用屏幕截图中显示的代码获取文本。

我想从此xpath中获取文本(是)。

在控制台中,我写:

//*[@id='info_is_network']/label[contains(@class , "ant-radio-button-wrapper ant-radio-button-wrapper-checked ant-radio-button-wrapper-disabled" )]/span/text(`)

可以,找到元素。

但是当我这样做时在代码中:

WebElement element = driver2.findElement(By.xpath("//*[@id='info_is_network']/label[contains(@class , \"ant-radio-button-wrapper ant-radio-button-wrapper-checked ant-radio-button-wrapper-disabled\" )]/span"));
String res = element.getText();
String res2 = element.getAttribute("value");

我两次尝试都得到null或一无所获。

可能是什么原因?日志中没有错误。只需将开发工具复制到intelij。

enter image description here

屏幕PIC(按钮不可单击,仅查看)

enter image description here

3 个答案:

答案 0 :(得分:3)

给定的xpath正在找到第一个span元素,这解释了为什么得到null的原因。您必须获得以下提示才能获得正确的文本。尝试使用此xpath,

   WebElement element = driver2.findElement(By.xpath("//*[@id='info_is_network']/label[contains(@class , \"ant-radio-button-wrapper ant-radio-button-wrapper-checked ant-radio-button-wrapper-disabled\" )]/span/following-sibling:span"));
   String res = element.getText();

答案 1 :(得分:1)

尝试以下代码。

parent width - label width

答案 2 :(得分:0)

调查后 这也可以做:

driver2.findElement(By.xpath("//*[@id='info_is_network']/label[contains(@class , \"ant-radio-button-wrapper ant-radio-button-wrapper-checked ant-radio-button-wrapper-disabled\" )]/span[text()]