【问题标题】:Get text() in selenium not returning the text在硒中获取文本()不返回文本
【发布时间】:2019-09-16 14:34:50
【问题描述】:

我有一个关于 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。

屏幕图片(按钮不可点击,仅供查看)

【问题讨论】:

    标签: java selenium selenium-webdriver xpath webdriverwait


    【解决方案1】:

    给定的 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();
    

    【讨论】:

      【解决方案2】:

      试试下面的代码。

      element.getAttribute("textContent"));
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2021-04-25
          • 1970-01-01
          • 1970-01-01
          • 2023-04-05
          • 2013-03-19
          • 1970-01-01
          • 1970-01-01
          • 2016-12-18
          • 1970-01-01
          相关资源
          最近更新 更多