selenium---勾选框处理

597 篇文章 16 订阅
51 篇文章 5 订阅

在web自动化中,会遇到一些勾选框的操作,在正常操作下,我们只要点击勾选框即是勾选,再次点击则取消勾选,那selenium如何操作勾选框呢? 其实和正常一样,我们只要定位到勾选框后,就可以进行点击。

勾选框

首先我们看下什么是勾选框?勾选框在HTML中长什么样子,这样才能方便我们进行定位操作。。

<html>
<body>
<form >
<p>请选择你关注测试-安静了吗?</p>
  <p><input type="checkbox" name="vehicle" value="Bike" /> 已经关注了!/p>
  <p><input type="checkbox" name="vehicle" value="Car"/> 没有关注!</p>
  <p><input type="checkbox" name="vehicle" value="name"/> 已经关注,并跟着安静学习一段时间了</p>
</form>

</body>
</html>

定位方法:

1、勾选一个:通过元素定位方式选择value值,然后进行定位进行点击操作

2、全部勾选:定位共同参数,通过find_elements的方法循环全部点击

思路就是定位到想要勾选的内容,然后直接点击就完事了,这里要属于find_elements不能直接点击,因为定位的是复数,selenium不知道点击哪一个,我们可以通过for循环进行点击

from selenium import webdriver
import time
driver = webdriver.Chrome()
path = r'E:\web\checkbox.html'
driver.get(path)
# 定位全部勾选框,然后进行循环点击
t = driver.find_elements_by_xpath('//*[@type="checkbox"]')
for i in t:
    i.click()
    time.sleep(2)
# 取消定位第一个
driver.find_element_by_css_selector('input[value=Bike]').click()
复制代码

判断勾选框是否选中
勾选框,有的页面刚进去其实就已经勾选了,我们可以进行判断,如果勾选了,我们就直接进行下面的操作,哪么问题来了?我们如何判断元素是否被勾选?这里可以理解成元素是否被选中,哪么在selenium中是不是有个判断元素有没有被选中的方法? is_selected() 表示判断元素有没有被选中,如果选中打印True,没有选中打印False

from selenium import webdriver
driver = webdriver.Chrome()
path = r'E:\web\checkbox.html'
driver.get(path)
t = driver.find_element_by_css_selector('input[value=name]').click()
# 判断是否被选中
if driver.find_element_by_css_selector('input[value=Bike]').is_selected():
    print('勾选框已经选中')
else:
    print('勾选框没有选中')

点赞关注~~持续分享,加入我们,了解更多。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值