selenium中,如何使用选择框
html5
一个多选下拉框,没有默认选
一个单选下拉狂,默认“张桐桐”
选择框
选项1
选项2
选项3
男
女
张桐桐
方式1: 传统点
直接定位到选项,进行click , 或者定位到选项, 用send_keys
from selenium import webdriver
import time
# 创建浏览器驱动对象
from selenium.webdriver.common.by import By
driver = webdriver.Chrome() # 参数写浏览器驱动文件的路径,若配置到环境变量就不用写了
# 访问网址
driver.get("E:\django\接口准备1\选择框.html")
# (多选框)直接定位到选项元素,然后点击
"""
两个点了都会选上
"""
driver.find_element(By.CSS_SELECTOR,'option[value="option1"]').click()
driver.find_element(By.CSS_SELECTOR,'option[value="option3"]').click()
# (单选框)
"""
点了一个,之前的会取消掉
"""
time.sleep(2)
driver.find_element(By.CSS_SELECTOR,'option[value="girl"]').click()
time.sleep(2)
driver.find_element(By.CSS_SELECTOR,'#singleSelect').send_keys("男")
方式2:实例化一个select 对象来定位
相比上面, 他不是一个点击行为,而是一个选择行为,比如默认选了 ,“张桐桐”, 通过方式2的方法再选男,他还是 “张桐桐”
from selenium import webdriver
import time
# 创建浏览器驱动对象
from selenium.webdriver.common.by import By
driver = webdriver.Chrome() # 参数写浏览器驱动文件的路径,若配置到环境变量就不用写了
# 访问网址
driver.get("E:\django\接口准备1\选择框.html")
from selenium.webdriver.support.select import Select
# 实例化一个选择对象
selelct1 = Select(driver.find_element(By.CSS_SELECTOR,'#multiSelect'))
selelct1.select_by_index(0) # 方式1
selelct1.select_by_value("option2") # 方式2
time.sleep(1.5)
selelct1.select_by_visible_text("选项3") # 方式3
# 实例化一个选择对象 (下面的)
select2 = Select(driver.find_element(By.CSS_SELECTOR,'#singleSelect'))
select2.select_by_index(0) # 若換成2, 他就還是和默認保持不变
selelct1.select_by_index(0)