对下拉选择框元素的两种操作

说明:下拉选择框就是HTML中select标签

这里使用Selenium中两种方式对下拉选择框中元素进行选择操作:css定位操作(其他定位也可以)、selenium中select类。

 

 

'''
Select 中的类 
'''
import time
from selenium import webdriver
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.hao123.com/")
time.sleep(3)
#定位切换 元素 点击
driver.find_element_by_css_selector('.line-item.city-change-btn').click()
time.sleep(1)
# 定位下拉框元素
el_1= driver.find_element_by_xpath('//*[@name="province"]')
el_2 = driver.find_element_by_name('city')
el_3 = driver.find_element_by_name('dist')
# 检验el元素是select标签元素
sel_1 = Select(el_1)
sel_2 = Select(el_2)
sel_3 = Select(el_3)
# 获取所有下拉选择项元素
ops_1 = sel_1.options
ops_2= sel_2.options
ops_3 =sel_3.options
# # 选择定位元素中的所有option
# sel.all_selected_options()
# 通过value的属性值选择option
sel_1.select_by_value("04")
time.sleep(2)
sel_2.select_by_value("02")
time.sleep(2)
sel_3.select_by_value("01")
time.sleep(2)
# 通过索引选择option
sel_1.select_by_index(0)  # 选择第1个下拉项
time.sleep(2)
sel_2.select_by_index(1)
time.sleep(2)
sel_3.select_by_index(0)
time.sleep(2)
# 通过下拉项的文本信息选择option
sel_1.select_by_visible_text("S 四川")
time.sleep(2)
sel_2.select_by_visible_text("B 巴中")
time.sleep(2)
sel_3.select_by_visible_text("B 巴中")
time.sleep(2)
driver.quit()
# # 取消操作
# sel.deselect_all()  # 取消所有选择
# sel.deselect_by_index(0)
# sel.deselect_by_value("04")
# sel.deselect_by_visible_text("成都")

 

posted @ 2022-03-08 17:43  饭兜  阅读(203)  评论(0编辑  收藏  举报