之前涉及web元素操作的方法讲解较少,主要有click()和send_keys()这2种方法。那么本篇文章将讲述更多web元素操作的方法,包括对“编辑框,下拉框,勾选框,以及复选框”的一些常用操作。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
有如下的html片段:
<div style="color:#0000FF">
<input id="input1" placeholder="请输入用户名" value="用户名">
<br><br>
<textarea id="ta1"></textarea></div>
<div>
<p>选择性别</p>
<input type="radio" name="gender" value="male">男<br>
<input type="radio" name="gender" value="female"checked="checked">女<br>
<select id="single">
<option value="male">男</option>
<option value="female" selected="selected">女</option></select>
<div>
<p>选择语言</p>
<input type="checkbox" name="vehicle" value="python"checked >
我爱python
<br>
<input type="checkbox" name="vehicle" value="java">
我爱Java</div>
<div>
<p>选择爱车</p>
<select id="multi" multiple>
<option value="benz" selected="selected">奔驰S300</option>
<option value="accord">雅阁</option>
<option value="bmw" selected="selected">宝马 740</option>
</select></div>
<button name='button'>按钮1</button>
<a href="http://www.baidu.com" >转到百度</a>
前置条件:
from selenium import webdriver
driver=webdriver.Chrome()
driver.implicitly_wait(5)
driver.get('file:///C:/Users/qin/Desktop/5.html')
01:编辑框常用操作
1)清空输入框:input_ele.clear()
2)获取输入框已经输入的文本内容:input_ele.get_attribute('value')
input_ele=driver.find_element_by_id('input1')
input_ele.send_keys('测试清空内容')
(1)需求点1:获取 input() 元素里面输入的文本内容
print(input_ele.get_attribute('value'))
(2)需求点2:清空输入内容
input_ele.clear()
02:单选框常用操作
1)特点:只能单选,不管原来该元素是否选中直接去点击该元素即可,都可以确保该单选框被选中
2)操作:直接调用WebElement的click()方法,模拟用户点击即可
ele=driver.find_element_by_css_selector('[value="male"]')
ele.click()
03:勾选框常用操作
1)特点:可以多选,点击被选中的元素则会取消选中状态,反之亦然。
2)操作:通过is_selected()查看元素是否处于选中状态,调用click()进行选择
selected=driver.find_element_by_css_selector('[value="java"]').is_selected()
if not selected:
driver.find_element_by_css_selector('[value="java"]').click()
04:复选框常用操作
1)类型:①可以选择多个元素的多选下拉框②只能选择一个元素的单选下拉框
2)特点:都是下拉框类型的元素
①多选下拉框可以通过ctrl+点击选择多个元素;
②单选下拉框只能选择一个元素且必须选择一个元素3)操作:将元素用Select类进行包装
①模拟选择(两种下拉框都通用):调用select_by_visible_text(),参数是option元素的文本值
②取消选择(仅限多选下拉框):deselect_by_visible_text()
③取消所有选择(仅限多选下拉框):deselect_all()4)注意:只有遇到 select 标签名的才能用 select 类
from selenium.webdriver.support.select import Select
#将元素用Select类进行包装,获得相应的webElement
(1)多选下拉框:通过选项文本直接选择元素
select=Select(driver.find_element_by_id('multi'))
select.select_by_visible_text('雅阁')
(2)多选下拉框:取消选择
select.deselect_by_visible_text('宝马 740')
(3)取消所有选择
select.deselect_all()
(4)单选下拉框:通过选项文本直接选择元素
select=Select(driver.find_element_by_id('single'))
select.select_by_visible_text('男')
05:点击按钮、链接常用操作
操作:按钮、链接的点击都非常简单,找到该元素直接调用WebElement的click()方法,模拟用户点击即可
(1)点击按钮操作
driver.find_element_by_css_selector("[ name='button']").click()
(2)点击链接操作
driver.find_element_by_css_selector('[href="http://www.baidu.com"]').click()
网友评论