对下拉选择框元素的两种操作
说明:下拉选择框就是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("成都")