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

Get text() in selenium not returning the text

我有一个关于 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(`)

OK,找到元素

然而在我这样做的代码中:

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");

两次尝试都为空或一无所获。

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

屏幕图片(按钮不可点击,只能查看)

试试下面的代码。

element.getAttribute("textContent"));

给定的 xpath 正在寻找第一个跨度 element.That 解释了为什么您得到空值。你必须得到以下兄弟姐妹才能得到正确的 text.try 这个 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();

调查后 这也可以完成工作:

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()]