我正在尝试检查页面上的所有复选框,类似于 https://sqa.stackexchange.com/questions/3292/how-to-select-or-check-multiple-checkboxes-in-selenium 。
我尝试用
来做到这一点checkboxes = driver.find_elements_by_class_name('gwt-CheckBox')
for checkbox in checkboxes:
if not checkbox.is_selected():
checkbox.click()
但是,所有复选框的 is_selected()
都给出 False,因此已选择的复选框将关闭,未选择的复选框将打开。下面是一个选中的 CheckBox 类(库名称)和一个未选中的 Checkbox 类(配对标称长度)的示例。
如何检查这些是否已被选择?
<div style="position: relative; display: inline-block; vertical-align: top; float: left;">
<span class="gwt-CheckBox">
<input id="gwt-uid-27" tabindex="0" type="checkbox" value="on"/>
<label for="gwt-uid-27">
Library name
</label>
</span>
</div>
</div>
<div class="holderFp" style="width: 100%; position: relative; overflow: hidden; display: block;">
<div style="position: relative; display: inline-block; vertical-align: top; float: left; width: 25%;">
<span class="gwt-CheckBox">
<input id="gwt-uid-28" tabindex="0" type="checkbox" value="on"/>
<label for="gwt-uid-28">
Paired nominal length
</label>
</span>
</div>
最佳答案
看来复选框元素实际上在 <input>
中子标签。尝试使用它
checkboxes = driver.find_elements_by_css_selector('.gwt-CheckBox > input')
关于python - 使用 Selenium 检查所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41345961/