selenium+python操作下拉框
前言
1、在Web网页中经常会遇到下拉框(下拉列表):比如说分页、每页显示的条数、语言的切换等功能,很多时候经常都是以下拉框的形式展现。
2、下拉列表是网页中一种最节省页面空间的选择方式,默认状态下只显示一个选项,只有单击下拉按钮后才能看到全部的选项进而进行选择。
3、在实际Web网页开发中下拉框的实现方式有很多:
⑴
4、对于不同方式实现的下拉框,在使用Selenium工具对元素进行操作时可能会有一些细微的差距。所以在进行selenium工具对下拉框元素操作时最好分清楚其实现方式是什么。
5、selenium工具操作页面下拉框,一般来说分为两种情况,一种是标准的select标签下拉框;另一种是非select类下拉框,比如 ul-li 标签下拉框。
6、针对select标签的下拉框,selenium提供了一个select类;针对非select标签实现的下拉框,可以通过模拟鼠标点击的方式实现操作。
select标签下拉框
1、如下图所示,下拉框为select标签,此时可以使用select类提供的三种方法定位到下拉框中的元素。
2、select下拉框感觉是HTML中标准的下拉框实现方式(但是并不是很常见)
3、在HTML中select下拉框是由配合使用的。具体语法格式如下:
⑴
4、针对select下拉框Selenium提供了专门的接口函数来操作对应的元素:Select类
from selenium.webdriver.support.select import Select
5、操作步骤:
⑴首先定位到select标签,然后进行实例化(获取一个select对象)
⑵通过select对象进行选项的定位选择等:通过选项下标、value、text
6、Select类有以下操作方法:
7、 实例代码:
import time from selenium import webdriver from selenium.webdriver.support.select import Select # 实例化浏览器,访问目标网页,窗口最大化 driver = webdriver.Chrome() driver.get("file:///C:/User/Desktop/%E4%B8%8B%E6%8B%89%E6%A1%86%E7%BB%83%E4%B9%A0.html") driver.maximize_window() time.sleep(1) # 定位下拉框,实例化select方法 ele = driver.find_element_by_id("poet") select_ele = Select(ele) # 方法一:通过索引选择下拉元素 select_ele.select_by_index(0) time.sleep(1) # 方法二:通过下拉元素的value选择下拉元素 select_ele.select_by_value("03") time.sleep(1) # 方法三:通过下拉元素的文本内容选择下拉元素 select_ele.select_by_visible_text("白居易") time.sleep(1) # 退出 driver.quit()
单个select下拉框
1、一般情况下我们遇到的(select)下拉框都是只能选择一个值(元素)的下拉框(不能选择多个值);当然也存在可以选择多个值(元素)的下拉框。
3、对于只能选择一个值(元素)的下拉框,选择下一个元素后会自动取消上一次选择的元素(始终只能选择一个)。
⑴select_by_index()、select_by_value()、select_by_visible_text()等方法已经有点击的功能了,所以不需要在click()了
⑵相当于这些方法是:定位+点击
https://blog.csdn.net/weixin_44169484/article/details/119761412
https://blog.csdn.net/qq_39314932/article/details/123753440