WEB自动化_下拉框选择(通过元素的value属性选择、下标选择、文本选择)
1、 获取(对话框、确认框、提示框)对象
al = driver.switch_to.alert
点击ok 获取文本 点击cancel 输入内容
alert accept() text N/A N/A
confirm accept() text dismiss() N/A
prompt accept() text dismiss() send_keys()
注意浏览器alter和普通html弹出框的区别
2、确认(对话框、确认框、提示框)
al.accept()
3、取消(对话框、确认框、提示框)
al.dismiss()
4、在(提示框)输入文本内容
al.send_keys("你好!")
5、编辑框
清空输入框
input_ele.clear()
获取输入框已经输入的文本
input_ele.get_attribute('value')
Tips:input_ele是<input>对应的webelement对象
6、勾选框
1、什么是勾选框?
对应的HTML:
<input type="checkbox" name="vehicle" value="bike" > 自行车
<input type="checkbox" name="vehicle" value="car" checked> 汽车
2、勾选框特点?
可以多选,点击被选中的元素则会取消选中状态,反之亦然。
3、操作?
1、通过is_selected()查看元素是否处于选中状态。
2、调用click()进行选择。
7、单选框
1、什么是单选框?
对应的HTML:
<input type="radio" name="gender" value="male"> 男<br>
<input type="radio" name="gender" value="female"> 女<br>
2、单选框特点?
只能单选,不管原来该元素是否选中,直接去点击该元素即可,都可以确保该单选框被选中。
3、操作?
只需调用click() 点击即可。
8、复选框
1、什么是复选框?
第1种:可以选择多个元素的多选下拉框
对应的HTML:
<select multiple>
<option value="benz">奔驰S300</option>
<option value="accord">雅阁</option>
</select>
第2种:只能选择一个元素的单选下拉框
对应的HTML:
<select>
<option value="male">男</option>
<option value="female" selected="selected">女</option>
</select>
2、特点?
1、都是下拉框类型的元素。
2、第1种可以通过ctrl+点击选择多个元素.
3、第2种只能选择一个元素,且必须选择一个元素。
3、操作?
1、将元素用Select类包装一下。
2、模拟选择(两种下拉框都通用):用select_by_visible_text(),参数是option元素的文本值。
3、取消选择(仅限第一种选择框):用deselect_by_visible_text()。
4、取消所有选择(仅限第一种选择框):用deselect_all()。
9、案例
from selenium import webdriver
import time
# 创建浏览器驱动对象
driver = webdriver.Chrome(r"D:\chromedriver\chromedriver_win32-V103.0.5060.53\chromedriver.exe")
# 访问网址
driver.get(r"F:\test\test1.html")
# 触发对话框
driver.find_element_by_id("bu1").click()
time.sleep(1)
# 获取对话框对象
al = driver.switch_to.alert
al.accept() # 确认对话框
time.sleep(1)
# 触发确认框
driver.find_element_by_id("bu2").click()
time.sleep(1)
# 获取确认框对象
al = driver.switch_to.alert
al.dismiss() # 取消确认框
time.sleep(1)
# 触发提示框
driver.find_element_by_id("bu3").click()
time.sleep(1)
# 获取提示框对象
al = driver.switch_to.alert
al.send_keys("你好!") # 在提示框输入文本内容
time.sleep(1)
print(al.text) # 返回输入的文本内容
al.accept() # 确认对话框
time.sleep(1)
对话框:
确认框:
提示框: