typhoonpython 2019-06-29
一、通过select定位下拉框
先导入Select的模块,在使用方法进行操作
from selenium.webdriver.support.select import Select #方法一:定位"不等于" s = self.browser.find_element_by_xpath('//div[@class="number-range"]/select[@class="ng-pristine ng-valid"]') Select(s).select_by_visible_text("不等于") Select(s).select_by_index(1) Select(s).select_by_value("1")
ps:如果选项值不是固定的,直接将固定值替换成变量即可
下面是select的具体方法
select_by_index() :通过索引定位
select_by_value() :通过value值定位
select_by_visible_text() :通过文本值定位
deselect_all() :取消所有选项
deselect_by_index() :取消对应index选项
deselect_by_value() :取消对应value选项
deselect_by_visible_text() :取消对应文本选项
first_selected_option() :返回第一个选项
all_selected_options() :返回所有的选项
二、先定位到select再定位option
#a、一步写法 self.browser.find_element_by_xpath('//div[@class="number-range"]/select[@class="ng-pristine ng-valid"]').find_element_by_xpath('//option[@value="1"]').click() #b、两步写法 s = self.browser.find_element_by_xpath('//div[@class="number-range"]/select[@class="ng-pristine ng-valid"]') s.find_element_by_xpath('//option[@value="1"]').click()
三、直接定位到选项option
#直接定位到选项option self.browser.find_element_by_xpath('//div[@class="number-range"]/select[@class="ng-pristine ng-valid"]/option[@value="1"]').click()