checkbox批量勾选
1.环境准备
下面代码用记事本编辑,保存为.html格式,并放在python项目同一目录下。(此段代码非原创,来源某课程)
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>Checkbox</title>
<script type="text/javascript" async="
" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css"
rel="stylesheet" />
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
</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>
from selenium import webdriver
import time
import os
if __name__ == "__main__":
firefox_driver = webdriver.Firefox()
path = "file:///" + os.path.abspath("checkbox.html") # 获取当前路径下的文件
firefox_driver.get(path)
checkboxs = firefox_driver.find_elements_by_css_selector("input[type=checkbox]") # 这里获取到一组元素,返回list
time.sleep(2)
for checkbox in checkboxs:
checkbox.click() # 批量勾选
time.sleep(2)
firefox_driver.quit()
下拉框处理
firefox_driver = webdriver.Firefox()
path = "file://" + os.path.abspath("select.html") # 获取当前路径下的文件
firefox_driver.get(path)
firefox_driver.find_element_by_css_selector("select#ShippingMethod").click()
time.sleep(2)
options = firefox_driver.find_elements_by_css_selector("option") # 这里获取到一组元素,返回list
time.sleep(2)
options[2].click()
time.sleep(2)
firefox_driver.quit()
实测直接定位[option]然后点击,也是可以的。
firefox_driver.find_element_by_css_selector("option[value=12.51]")定位失败了,为啥?
来源:oschina
链接:https://my.oschina.net/u/4343232/blog/4271965