我正在使用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"