微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python selenium单/复选框操作

一、单选:radio

  1.首先是定位选择框的位置

 

  2.定位id,点击图标就可以了,代码如下(获取URL地址方法:把上面源码粘贴到文本保存为.html后缀后用浏览器打开,在浏览器URL地址栏复制出地址就可以了)

  3.先点击boy后,等十秒再点击girl,观察页面变化

 

二、复选框:checkBox

  1.勾选单个框,比如勾选selenium这个,可以根据它的id=c1直接定位到点击就可以了

 

 

 

 

   2.那么问题来了:如果想全部勾选上呢?

三、全部勾选:

    1.全部勾选,可以用到定位一组元素,从上面源码可以看出,复选框的type=checkBox,这里可以用xpath语法:.//*[@type='checkBox']

 

     2.这里注意,敲黑板做笔记了:find_elements是不能直接点击的,它是复数的,所以只能先获取到所有的checkBox对象,然后通过for循环去一个个点击操作

四、判断是否选中:is_selected()

    1.有时候这个选项框,本身就是选中状态,如果我再点击一下,它就反选了,这可不是我期望的结果,那么可不可以当它是没选中的时候,我去点击下;当它已经是选中状态,我就不点击呢?那么问题来了:如何判断选项框是选中状态?

    2.判断元素是否选中这一步才是本文的核心内容,点击选项框对于大家来说没什么难度。获取元素是否为选中状态,打印结果如下图。

    3.返回结果为bool类型,没点击时候返回False,点击后返回True,接下来就很容易判断了,既可以作为操作前的判断,也可以作为测试结果的判断

 

七、参考代码

# coding:utf-8

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("file:///C:/Users/Gloria/Desktop/checkBox.html")

# 没点击操作前,判断选项框状态

s = driver.find_element_by_id("boy").is_selected()

print s

driver.find_element_by_id("boy").click()

# 点击后,判断元素是否为选中状态

r = driver.find_element_by_id("boy").is_selected()

print r

 

# 复选框单选

driver.find_element_by_id("c1").click()

# 复选框全选

checkBoxs = driver.find_elements_by_xpath(".//*[@type='checkBox']")

for i in checkBoxs:

    i.click()

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐