吾八哥学Selenium(三):操作复选框checkbox/单选…
2018-06-18 01:37:28来源:未知 阅读 ()
复选框checkbox和单选框radio是web网站里经常会使用到的两个控件,那么在web自动化测试的时候如何利用Selenium来操作这俩控件呢?今天我们就来简单入门练习一下!
html测试页面代码如下:
<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>学Python网 - selenium学习测试页面</title> </head> <body> <h2>请选择你喜欢的开发语言</h2> <form> <p><input type="checkbox" id="c1" />C/C++</p> <p><input type="checkbox" id="c2" />Java</p> <p><input type="checkbox" id="c3" />Python</p> <p><input type="checkbox" id="c4" />PHP</p> <p><input type="checkbox" id="c5" />Golang</p> </form> <h2>您是否喜欢您现在的工作?</h2> <form> <p><input type="radio" name="lovework" value="love" id="rlove" />喜欢</p> <p><input type="radio" name="lovework" value="hate" id="rhate" />不喜欢</p> <p><input type="radio" name="lovework" value="none" id="rnone" />无所谓</p> </form> </body> </html>
从HTML代码看,这里面的复选框checkbox和单选框radio都是input标签,那么我们可以遍历出所有的input标签元素了,而且这些元素也都有id,所以find_element_by_id和find_element_by_xpath操作单个元素也都是可行的。
Python代码练习:
# Autor: 5bug # WebSite: http://www.XuePython.wang # 学Python网QQ群: 643829693 from selenium import webdriver driver = webdriver.Chrome("C:/Users/5bug/AppData/Local/Google/Chrome/Application/chromedriver.exe") driver.maximize_window() driver.get('file:///E:\MyCodes\Python\demos\XuePython.wang\html\check_radio.html') #遍历得到checkbox/radio,并勾选指定的checkbox/radio inputs = driver.find_elements_by_tag_name("input") for input in inputs: # 读取元素id attr_id = input.get_attribute("id") print(attr_id) element_type = input.get_attribute("type") if element_type == "checkbox": #如果id在爱好的id数组内则勾选 if input.is_enabled() & (attr_id in ["c1", "c3"]) & (not input.is_selected()): input.click() elif element_type == "radio": #勾选喜欢现在的工作选项 if (attr_id == "rlove") & input.is_enabled() & (not input.is_selected()): input.click()
这里用到了下面几个方法:
-
find_elements_by_tag_name根据标签名称获得元素列表
-
get_attribute获取某个属性
-
is_enabled方法是用于判断是否可用
-
is_selected方法是用于判断是否选中
-
is_displayed方法是用于判断是否显示
运行输出结果如下:
本文首发于学Python网:http://www.XuePython.wang
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PythonDay08 2019-08-13
- 列表和元组 2019-08-13
- 爬虫--selenium之 chromedriver与chrome版本映射表(最新至v 2019-07-24
- python Django基础操作 2019-07-24
- python+selenium实现自动化百度搜索关键词 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash