java - 如何从在少数情况下显示的子标签获取文本

标签 java html selenium-webdriver xpath

我需要从子标签(html标签:a)获取文本,该文本仅在输入的数据无效时显示。

如果输入的数据有效,子标签(html标签:a)不会显示。

如何编写适合这两种情况的 xpath 或如何从上述 html 标签中获取文本

HTML 代码如下所示:

<label id="pt" class="test">
some text is displayed
 <a href=javascript:void(0);>some text</a>   
Some text is displayed
</label>

//仅当 UI 中存在 for 标签时才显示“a”标签

最佳答案

您必须首先检查a是否存在,然后获取文本。

这是逻辑。

 // get the list of links under label
 List<WebElement> links = driver.findElements(By.xpath("//label[@id='pt']/a"));
 // check if the link exists
 if (links.size()>0) {
    //print the link text
    System.out.println(links.get(0).getText());
 }

关于java - 如何从在少数情况下显示的子标签获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57097231/

相关文章:

javascript - 启动 jquery fadeToggle 隐藏

selenium-webdriver - TestNG:哪种方法更好?登录一次并运行所有测试 (@BeforeSuite) 或每次测试前登录 (@BeforeTest)

java - 在 Java 中通过 GridLauncherV3 启动 Selenium Grid

java - 如何设计带有任何媒体文件预览的 android 聊天气泡

java - 为什么 Eclipse JUnit4 Runner 不获取 META-INF/services 文件

javascript - 变量将 DOM 元素处理为 null。为什么会发生这种情况?

javascript - Bootstrap 输入组在 jQuery UI 对话框中无法正确呈现

java - 如何使用 Selenium/Java 找到这个元素?

java - @RequestParam 省略但映射仍然正确完成

java - Gradle : dependency license for Java/Spring library