版权声明:本文为CSDN博主「药药君」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Static_at/article/details/81463072
使用Selcet需要导入该模块的包
导入模块方法:from selenium.webdriver.support.select import Select
一般使用3种方法来定位:
-
通过索引来定位: select_by_index()
-
通过文本值来定位:select_by_visible_text()
-
通过value值来定位: select_by_value()
通过百度设置中的搜索设置来举例,这里有一个select+option的下拉框,若需要选择点击每页显示20条,如何操作?
以下为代码演示:
#coding:utf-8
from selenium import webdriver
from selenium.webdriver.support.select import Select #导入Select包
from selenium.webdriver.common.action_chains import ActionChains #导入鼠标事件包
from time import sleep
bro = webdriver.Chrome()
bro.maximize_window()
bro.get("https:www.baidu.com")
bro.implicitly_wait(10)
a = bro.find_element_by_link_text("设置")
ActionChains(bro).move_to_element(a).perform() #通过鼠标移动到设置上进行操作
bro.find_element_by_link_text("搜索设置").click()
sleep(3) #在使用谷歌浏览器时发现加入了休眠时间下面运行时才能找到元素
s = bro.find_element_by_id("nr")#这里先找到select的标签的id
"""格式 Select(对应元素).select_by_对应方法("方法的对应值")"""
#Select(s).select_by_index("1") #通过索引定位(从0开始计数)
# Select(s).select_by_visible_text("每页显示20条") #通过文本值定位
Select(s).select_by_value("20") #通过value值定位
sleep(2)
bro.quit()