selenium3 select下拉框详解

以"百度首页"->"设置"->"搜索设置"为例介绍Select方法多种用法

法一:直接定位列表框中元素,如:选择”每页显示20 条”
driver.find_element_by_css_selector('#nr > option:nth-child(2)').click()

法二:通过index 即索引
se=driver.find_element_by_id('nr') #nr 为下拉框id
Select(se).select_by_index(2)

法三:通过value
se=driver.find_element_by_id('nr')
Select(se).select_by_value('20')
本例中Value 即为10,20,50

法四: visible_text
se=driver.find_element_by_id('nr')
Select(se).select_by_visible_text('每页显示50 条')
本例中visible_text 为”每页显示10 条”,20 条,50 条

以上方法是实现逐个选取值,若想循环遍历可以先计算列表框总数,再用for 循环
for i in range(len(Select(se).options)):
Select(se).select_by_index(i)
注: 用len 方法求总数Select(se).options,再把index 用变量代替便可。

原文地址:https://www.cnblogs.com/tim2016/p/7832952.html