软件测试-python-selenium-多选框

本文介绍三种常用的多选框操作方法,包括直接元素定位、利用find_elements获取列表操作及使用pop()函数移除并操作元素。通过具体示例,展示了如何在Python中使用Selenium进行多选框的选择和取消选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对多选框的操作比较灵活,可以有很多种方法,这里介绍了三种常用方法。

1、用基本的元素定位方法直接操作。

# 可以直接用一般的元素定位方法进行选择
br.find_element_by_xpath("//input[@value='python']").click()
br.find_element_by_xpath("//input[@value='selenium']").click()

2、利用find_elements系列方法获取列表。

# 可以直接用ch[index]来操作
ch = br.find_elements_by_xpath("//input[@type='checkbox']")
sleep(2)
ch[0].click()
sleep(2)
ch[1].click()
sleep(2)

3、还是利用find_elements系列方法获取列表,但可以用pop()函数进行操作。值得注意的是,pop() 函数是用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

# pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
ch.pop(0).click()
sleep(2)
# 前一个元素已经被移除,所以后一个元素变成pop(0)
ch.pop(0).click()

下面是python源码:

def checkbox2(url):
    br = startBrowser.firefox()
    br.maximize_window()
    br.get(url)
    br.implicitly_wait(10)
    sleep(2)
    # 先清除默认已勾选选项
    br.find_element_by_xpath("//input[@type='checkbox'][@checked]").click()
    sleep(2)
    # 可以直接用一般的元素定位方法进行选择
    br.find_element_by_xpath("//input[@value='python']").click()
    br.find_element_by_xpath("//input[@value='selenium']").click()
    sleep(2)
    # 把所有已勾选的选项取消
    for i in br.find_elements_by_xpath("//input[@type='checkbox']"):
        if i.get_attribute('checked'):
            i.click()
    # 可以直接用ch[index]来操作
    ch = br.find_elements_by_xpath("//input[@type='checkbox']")
    sleep(2)
    ch[0].click()
    sleep(2)
    ch[1].click()
    sleep(2)
    # 把所有已勾选的选项取消
    for i in br.find_elements_by_xpath("//input[@type='checkbox']"):
        if i.get_attribute('checked'):
            i.click()
    sleep(2)
    # pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
    ch.pop(0).click()
    sleep(2)
    # 前一个元素已经被移除,所以后一个元素变成pop(0)
    ch.pop(0).click()
    sleep(5)
    br.quit()

加入sleep是为了看得清楚效果,实际工作中尽量少用强制等待。

下面是HTML源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>多选框练习</title>
</head>
<body>


<p>多选框</p>
<div>
    <input type="checkbox" name="course" value="python" >
    Python基础
    <br>
    <input type="checkbox" name="course" value="selenium" checked>
    Selenium自动化
</div>


</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值