【问题标题】:Finding previous sibling element with java selenium xpath dynamically使用java selenium xpath动态查找前一个兄弟元素
【发布时间】:2016-05-09 16:25:59
【问题描述】:

我不支持 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>

【问题讨论】:

  • 你能完成 HTML 吗? id 属性仅存在于您的代码中。

标签: java selenium selenium-webdriver


【解决方案1】:

这可能是您正在寻找的吗?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    相关资源
    最近更新 更多