0

我一直在尝试在页面中的所有复选框中获取标签值,到目前为止,我一直在使用此代码来自动化下面的 HTML。

爪哇

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">&nbsp;
    british <input type="checkbox" name="british" value="british">&nbsp;
    north <input type="checkbox" name="north" value="north">&nbsp;
    southeast <input type="checkbox" name="southeast" value="southeast">&nbsp;
    west <input type="checkbox" name="west" value="west">&nbsp;
    Spanish <input type="checkbox" name="spanish" value="spanish">&nbsp;
    europian <input type="checkbox" name="europian" value="europian">&nbsp;
    northeast <input type="checkbox" name="northeast" value="northeast">
  </p>
</html>
4

2 回答 2

3

在您的情况下<input>,没有文本属性,但标签等于“名称”和“值”属性。所以你可以得到“名称”或“价值”属性。

List<WebElement> CHECKBOXlist = driver.findElements(By.xpath("//input[@type='checkbox']"));

for(WebElement checkbox : CHECKBOXlist) {
    System.out.println(checkbox.getAttribute("name"));
}
于 2013-05-10T12:02:02.190 回答
0

试试下面的逻辑。

List<WebElement> checkboxList=driver.findElements(By.cssSelector("[type='checkbox']"))
for(WebElement checkbox : CHECKBOXlist)
{
    if(checkbox.getAttribute("name").length()>=6)
    {
           checkbox.click();
    }
}

仅供参考:我从这里看到了你的 html 页面

于 2013-05-10T11:20:31.123 回答