我对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。
屏幕PIC(按钮不可单击,仅查看)
答案 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()]