动态地使用java selenium xpath查找上一个兄弟元素

时间:2016-05-09 16:25:59

标签: java selenium selenium-webdriver

我不知道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>

1 个答案:

答案 0 :(得分:0)

这可能是您要找的?

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