html下拉框小勾,Selenium 下拉框、勾选框的一些操作

本文介绍了如何使用Selenium进行HTML选择框(单选框、勾选框)的操作,包括单选框的点击选择,勾选框的状态判断与选择,以及复选框的多选与单选操作。示例代码详细展示了Selenium的click方法、is_selected方法以及Select类的使用。

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

3.5.2 选择框进行选择

单选框

单选框(Radio Button)像这样:

028d05308c7c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

要对选择框进行选择,直接用WebElement的click方法,模拟用户点击就可以了。而且不管原来该元素是否选中,直接去点击该元素就没有问题,都可以确保该单选框选中。下面面的HTML页面。

测试单选

其他

要确保性别“男”的选项被选中,代码可以这样写:

from datetime import time

import time

from selenium import webdriver

driver = webdriver.Chrome('E:\ChromDriver\chromedriver.exe')

driver.get(r'E:\case\Selenium\代码\samples_selenium\wd\lesson04\rb.html')

driver.implicitly_wait(10)

#css

input1 = driver.find_element_by_css_selector("input[value=male]")

#XPath

# input1 = driver.find_element_by_xpath("//input[@value='male']")

input1.click()

time.sleep(5)

driver.quit()

这里就选择男了,注意radio是单选框

勾选框

勾选框(Check Box)像这样

028d05308c7c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

要对勾选框进行选择,直接用WebElement的click方法,模拟用户点击就可以了。要注意一个问题是,对应单选框,不管原来该元素是否选中,直接去点击该元素没有问题,都可以确保单选框选中。而对于勾选框,我们必须先获取当前该选择框的状态,如果是已经点选的,我们的代码里就不能再点击,否则点击已选中的勾选框,反而会取消选择。下面的HTML页面,‘我有一辆汽车’的选项已经被选了。

测试勾选

我有一辆自行车

我有一辆汽车

Selenium通过 WebElement 的 is_selected 方法来获取 选择框是否选中的状态。要确保‘我有一辆汽车’的选项被选中,代码可以这样写:

from selenium import webdriver

driver = webdriver.Chrome('E:\ChromDriver\chromedriver.exe')

driver.get(r'E:\case\Selenium\代码\samples_selenium\wd\lesson04\cb.html')

input1 = driver.find_element_by_css_selector('input[value=car]')

selected = input1.is_selected()

if selected:

print('car already selected')

else:

print('car not selected,click on it')

input1.click()

input('press any key to quit...')

driver.quit()

这样,先判断,如果选中,不能点击该勾选框。

复选框

复选框(select)可以是多选的,像这样:

028d05308c7c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

也可以是单选的,像这样:

028d05308c7c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

下面是 html 页面:

定位网页元素

选择您喜爱的车

奔驰S300

雅阁

宝马 740

奥迪A6


选择性别

其中,选车的选项是多选(注意里面的 multiple 属性),选性别是单选,如果我们想选中宝马和雅阁两种车,性别男,该怎么做呢?特别要注意的是,多选框里面已经有宝马选项,已经处于选中状态了。Selenium 为我们提供了一个方便的 Select 类。其中有个方法 deselect_all 用来清除原来的选择,然后通过方法 select_by_visible_text, 根据选项的内容进行选择,而不是我们发出点击事件去选择。下面是示例代码:

from selenium import webdriver

driver = webdriver.Chrome('E:\ChromDriver\chromedriver.exe')

driver.get(r'E:\case\Selenium\代码\samples_selenium\wd\lesson04\ms.html')

#导入select类

from selenium.webdriver.support.ui import Select

#获取相应的webElement

select = Select(driver.find_element_by_id("multi"))

#先去选择所有的选项

select.deselect_all()

select.select_by_visible_text("雅阁")

select.select_by_visible_text("宝马 740")

#获得相应的webElement

select = Select(driver.find_element_by_id("single"))

select.select_by_visible_text("男")

input("press any key to quit...")

driver.quit()

只有遇到 select 标签名的才能用 select 类.

3.5.3 编辑框的一些操作

用 clear 方法清除该元素里面字符串:

input1.clear()

获取 input() 元素里面输入的文本内容:

input1.get_attribute('value')

3.5.4 点击按钮、链接

按钮、链接的点击都非常简单,找到该元素,直接调用其 click 方法就可以了。比如:

driver.find_element_by_id('123').click()

下面是 html 页面:

定位网页元素

测试输入

按钮1

按钮2

示例代码:

from selenium import webdriver

driver = webdriver.Chrome('E:\ChromDriver\chromedriver.exe')

driver.get(r'E:\case\Selenium\代码\samples_selenium\wd\lesson04\input1.html')

driver.implicitly_wait(10)

input1 = driver.find_element_by_id('input1')

input1.clear()

input1.send_keys('软件测试')

print(input1.get_attribute('value'))

input("press any key to quit...")

driver.quit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值