首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何选择或选中Selenium中的多个复选框?

如何选择或选中Selenium中的多个复选框?
EN

Stack Exchange QA用户
提问于 2012-06-17 21:54:22
回答 6查看 52.3K关注 0票数 6

我有这个HTML代码

代码语言:javascript
代码运行次数:0
运行
复制
<input type="checkbox" value="abc" name="arr[]><br>
<input type="checkbox" value="abc1" name="arr[]><br>
<input type="checkbox" value="abc2" name="arr[]><br>

有了这个

代码语言:javascript
代码运行次数:0
运行
复制
self.browser.find_element_by_xpath("//input[@name='arr[]']").click()

我只能选中第一个复选框,但我希望在同一时间选中所有复选框。我怎么能做到呢?

EN

回答 6

Stack Exchange QA用户

发布于 2012-10-01 17:00:17

代码语言:javascript
代码运行次数:0
运行
复制
checkboxes = self.browser.find_elements_by_xpath("//input[@name='arr[]']")
for checkbox in checkboxes:
    if not checkbox.isSelected():
        checkbox.click()

(先前的答复):

我还不熟悉python语法,但您可以这样做:

  1. 使用给定的xpath:self.browser.find_elements_by_xpath("//input[@name='arr[]']") 返回所有元素,注意它是find_elements_by_xpath (复数)
  2. 循环遍历列表以选中所有复选框
票数 9
EN

Stack Exchange QA用户

发布于 2012-06-18 12:56:39

尝试将Xpath更改为:

代码语言:javascript
代码运行次数:0
运行
复制
//input[@name='arr[]'][2]
票数 0
EN

Stack Exchange QA用户

发布于 2012-07-03 13:03:57

在Java中,这将是:

代码语言:javascript
代码运行次数:0
运行
复制
WebElement box = driver.findElement(By.xpath(".//*[@id='multi-selections']"));
List<WebElement> lc = box.findElements(By.tagName("input"));
for (int i = 0; i <= lc.size(); i++) {
  lc.get(i).click();
}
票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/3292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档