java - 使用 java selenium xpath 动态查找前一个同级元素

标签 java selenium selenium-webdriver

我取消了 Selenium 来自动化一些测试。我对 Selenium 有点陌生。所以我正在尝试验证表单。有些字段带有星号,表示必填字段。我当前正在循环所有可见字段,然后检查前面的元素是否有标签。我还需要检查标签是否有星级。我不太擅长 xpath 的东西,所以任何帮助将不胜感激。

for(int index = 0; index < optionOneinputList.size(); index++){
        if(optionOneinputList.get(index).isDisplayed()) {
            optionOneListFinal.add(optionOneinputList.get(index).getAttribute("id"));
            if(driver.findElement(By.xpath("//*[@id='" + optionOneinputList.get(index).getAttribute("id") + "']/preceding-sibling::label")) != null) {
                System.out.println(driver.findElement(By.xpath("//*[@id='" + optionOneinputList.get(index).getAttribute("id") + "']/preceding-sibling::label")));
            }

        }
    }

和我的 HTML 结构,其中一些结构具有星型类别,而另一些则没有:

<div>
    <label></label><div class="star">*</div>
    <input type="text">
</div>

最佳答案

也许这就是您正在寻找的东西?

  "//*[@id='" + optionOneinputList.get(index).getAttribute("id") + 
         "' and preceding-sibling::div[@class = 'star' ]  ]/preceding-sibling::label"

关于java - 使用 java selenium xpath 动态查找前一个同级元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37120821/

相关文章:

java - java中预加载器和闪屏的区别

java - Android 2指触摸触发1指触摸以及2指触摸

java - 如何将 Kotlin 默认方法与 Spring Data 存储库接口(interface)一起使用?

java - Selenium 网络驱动程序 : Suppressing untrusted connection message in firefox

java - 映射异常表示无法实例化 id 生成器。为什么会出现这个异常?

selenium - 当标签包含多个文本时无法按文本选择标签

java - 如何使用命令行更改属性文件中的浏览器值来运行 selenium 测试用例

java - 带有 Java NoSuchElementException 超时的 Selenium WebDriver

java - Webdriver 使用 sendKeys 输入长字符串的最简单方法?

如果可见,Python Selenium 单击一个元素