我一直在尝试在页面的所有复选框中获取标签值,到目前为止,我一直在使用此代码自动执行下面的HTML。
JAVA :
List<WebElement> allCBox = driver.findElements(By.xpath("//input[@type='checkbox']"));
for(WebElement checkbox : allCBox ) {
System.out.println("--- "+checkbox.gettext());
}
HTML:
<html>
<p> Regions:
south <input type="checkbox" name="south" value="south">
british <input type="checkbox" name="british" value="british">
north <input type="checkbox" name="north" value="north">
southeast <input type="checkbox" name="southeast" value="southeast">
west <input type="checkbox" name="west" value="west">
Spanish <input type="checkbox" name="spanish" value="spanish">
europian <input type="checkbox" name="europian" value="europian">
northeast <input type="checkbox" name="northeast" value="northeast">
</p>
</html>
答案 0 :(得分:3)
在您的情况下,<input>
没有文字属性,但标签等于“name”和“value”属性。所以你可以得到“名字”或“价值”属性。
List<WebElement> CHECKBOXlist = driver.findElements(By.xpath("//input[@type='checkbox']"));
for(WebElement checkbox : CHECKBOXlist) {
System.out.println(checkbox.getAttribute("name"));
}
答案 1 :(得分:0)
尝试以下逻辑。
List<WebElement> checkboxList=driver.findElements(By.cssSelector("[type='checkbox']"))
for(WebElement checkbox : CHECKBOXlist)
{
if(checkbox.getAttribute("name").length()>=6)
{
checkbox.click();
}
}
仅供参考:我从here
看到了你的html页面