selenium自动化测试之checkbox和下拉框处理

限于喜欢 提交于 2020-05-09 20:38:04

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]")定位失败了,为啥?
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!