java - 在硒中获取文本()不返回文本
问题描述
我有一个关于 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。
屏幕图片(按钮不可点击,仅供查看)
解决方案
给定的 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();
推荐阅读
- javascript - 如何在 JS 中循环使用 ID 名称?
- branch - 为什么发布分支是从开发分支而不是主分支?
- angular - 如果将其名称作为字符串,如何在打字稿中运行自定义函数?
- elasticsearch-5 - Elasticsearch HTTP 500 错误 {"message":null}
- c# - 识别控制器中“神秘”的行动调用索引方法的问题
- api - 一对多插入错误的表
- reactjs - 有没有办法将生命周期钩子作为参数传递给 React 中的 HOC?
- tensorflow - 为 Android 构建 TensorFlow Lite 时出现问题
- c++ - 如何在不破坏其父接口的情况下向对象添加属性?
- android - Google Play 上的 Android Auto 程序为我的申请提供了临时通行证