checkbox.html
<!DOCTYPE html>
<html lang="en">
<link>
<meta charset="UTF-8">
<title>Checkbox</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<h3>checkbox</h3>
<div class="well">
<form class="form-horizontal">
<div class="control-group">
<label class="control-label" for="c1">checkbox1</label>
<div class="controls">
<input type="checkbox" id="c1"/>
</div>
</div>
<div class="control-group">
<label class="control-label" for="c2">checkbox2</label>
<div class="controls">
<input type="checkbox" id="c2"/>
</div>
</div>
<div class="control-group">
<label class="control-label" for="c3">checkbox3</label>
<div class="controls">
<input type="checkbox" id="c3"/>
</div>
</div>
</form>
</div>
</body>
</html>
checkbox.py
from selenium import webdriver
import os,time
driver = webdriver.Chrome()
file_path = 'file:////' + os.path.abspath('checkbox.html')
driver.get(file_path)
# # 选择页面上所有的tag name为input的元素
# inputs = driver.find_elements_by_tag_name('input')
#
# # 然后从中过滤出type 为 checkbox的元素,单击勾选
# for i in inputs:
# if i.get_attribute('type') == 'checkbox':
# i.click()
# time.sleep(2)
# 通过XPath找到type = checkbox
#checkboxes = driver.find_elements_by_xpath("//input[@type='checkbox']")
# 通过css 找到type = checkbox
checkboxes = driver.find_elements_by_css_selector('input[type=checkbox]')
for checkbox in checkboxes:
checkbox.click()
time.sleep(2)
# 打印当前页面上type为checkbox的个数
print("checkbox 的个数:",len(checkboxes))
# 取消最后一个选中
driver.find_elements_by_css_selector('input[type=checkbox]').pop().click()
time.sleep(3)
# 取消第一个选中
driver.find_elements_by_css_selector('input[type=checkbox]').pop(0).click()
time.sleep(3)
# 取消第二个选中
driver.find_elements_by_css_selector('input[type=checkbox]').pop(1).click()
time.sleep(3)
# 全部取消选中
# for checkbox in checkboxes:
# checkbox.click()
driver.quit()
网友评论