selenium中的下拉列表操作

Posted xingyunqiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium中的下拉列表操作相关的知识,希望对你有一定的参考价值。

下拉列表操作中分为两种:select、非select

1、非select的下拉框操作

非select下拉列表操作与网页元素操作一致,找到元素,定位元素,设置等待,点击元素等等

接下来操作百度的设置按钮,设置属于一个下拉框

技术图片

 

 

举个栗子:

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 创建一个Chrome对象
driver = webdriver.Chrome()
# 访问百度
driver.get(http://baidu.com)
# 非select下拉框操作
# 找到百度首页的设置按钮
driver.find_element_by_xpath(//div[@id="u1"]//a[@class="pf"]).click()
# 等待下拉框的出现
loc = (By.XPATH, //a[text()="高级搜索"])
WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc))
driver.find_element_by_xpath(//a[text()="高级搜索"]).click()

# 退出浏览器
driver.quit()

 2、select下拉框操作:

接下来演示select下拉框操作;继续使用百度设置-高级搜索页面来演示,继续接上边代码继续写

selenium中有一个select类,用来操作select下拉列表

举个栗子:操作下图标红的下拉框

技术图片

 

 

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
import time


# 创建一个Chrome对象
driver = webdriver.Chrome()
# 访问百度
driver.get(http://baidu.com)
# 非select下拉框操作
# 找到百度首页的设置按钮
driver.find_element_by_xpath(//div[@id="u1"]//a[@class="pf"]).click()
# 等待下拉框的出现
loc = (By.XPATH, //a[text()="高级搜索"])
WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc))
driver.find_element_by_xpath(//a[text()="高级搜索"]).click()

# 设置等待,等待select下拉框出现
select_loc = (By.XPATH, //select[@name="ft"])
WebDriverWait(driver, 10).until(EC.visibility_of_element_located(select_loc))
ele = driver.find_element(*select_loc)

s = Select(ele)
# 以下标的方法定位下拉框中的元素
s.select_by_index(3)
time.sleep(2)
# 以value属性的方式定位下拉框的元素
s.select_by_value(pdf)
time.sleep(2)
# 以文本的方式定位下拉框元素
s.select_by_visible_text(所有格式)
time.sleep(2)

# 退出浏览器
driver.quit()

 

以上是关于selenium中的下拉列表操作的主要内容,如果未能解决你的问题,请参考以下文章

Selenium入门系列5 下拉列表元素操作

Python+Selenium笔记:操作下拉菜单

python+selenium下拉列表option对象操作方法一

selenium 下拉框选项操作

java+selenium+new——操作单选下拉列表——select类

自动选择,检查下拉列表