selenium下拉框处理(代码片段)

eastonliu eastonliu     2022-11-18     712

关键词:

我们在操作网页时,经常会碰到下拉框,比如百度的搜索设置

有多种方法可以对下拉框中的元素进行选择

一、间接选择


 

先定位到下拉框,再定位其中的选项

代码:

# coding = utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 驱动文件路径
driverfile_path = r\'D:\\coship\\Test_Framework\\drivers\\chromedriver.exe\'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r\'https://www.baidu.com/\')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 定位下拉框,选择其中的选项
sel = driver.find_element_by_css_selector("select#nr")
sel.find_element_by_css_selector("option[value=\'20\']").click()
# 退出
sleep(5)
driver.quit()

二、直接选择


 

直接定位到下拉框中的选项

代码:

# coding = utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 驱动文件路径
driverfile_path = r\'D:\\coship\\Test_Framework\\drivers\\chromedriver.exe\'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r\'https://www.baidu.com/\')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 直接定位到选项
driver.find_element_by_css_selector("select#nr>option:nth-child(2)").click()
# 退出
sleep(5)
driver.quit()

三、Select模块


 

webdriver提供了一个Select模块来专门对下拉框进行处理,使用时需要导入Select模块

 

其中有三种定位选项的方法:

  • select_by_index():索引定位(从0开始)
  • select_by_value():value属性定位
  • select_by_visible_text():选项的文本属性

1、index定位

代码:

# coding = utf-8
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 驱动文件路径
driverfile_path = r\'D:\\coship\\Test_Framework\\drivers\\chromedriver.exe\'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r\'https://www.baidu.com/\')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 通过索引定位
sel = driver.find_element_by_css_selector("select#nr")
Select(sel).select_by_index(1)
# 退出
sleep(5)
driver.quit()

2、value定位

代码:

# coding = utf-8
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 驱动文件路径
driverfile_path = r\'D:\\coship\\Test_Framework\\drivers\\chromedriver.exe\'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r\'https://www.baidu.com/\')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 通过value定位
sel = driver.find_element_by_css_selector("select#nr")
Select(sel).select_by_value("20")
# 退出
sleep(5)
driver.quit()

3、文本属性定位

代码:

 coding = utf-8
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 驱动文件路径
driverfile_path = r\'D:\\coship\\Test_Framework\\drivers\\chromedriver.exe\'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r\'https://www.baidu.com/\')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 通过text定位
sel = driver.find_element_by_css_selector("select#nr")
Select(sel).select_by_visible_text("每页显示20条")
# 退出
sleep(5)
driver.quit()

 

selenium深入拓展(代码片段)

学习目标:了解selenium处理下拉表单了解selenium的ActionChains类1.selenium处理下拉表单Selenium专门提供了Select类来处理下拉框。其实WebDriver中提供了一个叫Select的方法,可以帮助我们完成这些事情:#导入Select类fromselenium.webdriver.support.... 查看详情

selenium常用操作之下拉框操作(代码片段)

...lect/option组合,则可以使用Select类来处理。示例代码:fromselenium.webd 查看详情

16.selenium下拉框操作模拟操作下拉框(代码片段)

一、前言前端页面中,还有一种我们经常碰到的元素,他就是下拉框。这种元素我们其实有一种简单放法进行操作,先点击一下下拉框弹窗下拉列表,然后再点击选项。这种方法是使用两个点击动作达到选择下拉列表选项的目的... 查看详情

web自动化测试—selenium游览器下拉框操作(代码片段)

#coding=utf-8‘‘‘下拉框实战思路导包:fromselenium.webdriver.support.selectimportSelect#下拉框selectfromselenium.webdriver.common.action_chainsimportActionChains#鼠标操作先定位到下拉框-->>实例化Select类-->>实例化后调用select 查看详情

selenium之鼠标悬停/警告框处理/多窗口切换/下拉菜单的处理的介绍

一.鼠标悬停代码里要引入ActionChains包,代码如下:fromselenium.webdriver.commom.action_chainsimportActionChainsa.ActionChains----悬停类b.move_to_element()----移动鼠标c.perform()----让悬停生效例子:fromseleniumimportwebdriverfromtimeim 查看详情

selenium处理select标签的下拉框

转载:http://www.cnblogs.com/fnng/p/5361443.html有时候我们会碰到<select></select>标签的下拉框。直接点击下拉框中的选项不一定可行。Selenium专门提供了Select类来处理下拉框。<select id="status" class="form-controlvalid" onc 查看详情

selenium——下拉框(代码片段)

 select_ele=driver.find_element_by_xpath("//select[@name=‘gpc‘]")select=Select(select_ele)time.sleep(1)#方式一:通过索引进行选择select.select_by_index(3)#方式二:通过文本进行选择select.select_by_visible_text(‘最近一年‘)#方式三:通过value进行选择s2=S... 查看详情

selenium警告框处理(代码片段)

警告框分三种类型:alert:显示带有一条指定消息和一个OK按钮的警告框。confirm:显示一个带有指定消息和OK及取消按钮的对话框。prompt:显示可提示用户进行输入的对话框。我们就来一一认识他们的形状alert:confirm:prompt:警... 查看详情

selenium—选择框的相关操作(单选框多选框复选框下拉框)(代码片段)

...入框进行编辑:driver.find_element_by_id(‘input2‘).send_keys(‘selenium‘)有缺省值:第一个输入框,默认test此时,如果我们直接对第一个输入框进行编辑,会发现与预期结果不符driver.find_element_by_id(‘input1‘).send_keys(‘selenium‘)因此,... 查看详情

selenium自动化——下拉框处理

<html><body><selectid="ShippingMethod"onchange="updateShipping(options[selectedIndex]);"name="ShippingMethod"><optionvalue="12.51">UPSNextDayAir==>$12.51</option><o 查看详情

selenium获取页面指定元素个数(代码片段)

测试需求:获取页面中下拉框个数,并验证是否与预期个数一致方法1:因下拉框的tagname属性值为select,可通过获取标签为select的元素来获取下拉框个数   List<WebElement>elements=driver.findElements(By.tagName("select")); int... 查看详情

selenium自动化测试之单选下拉列表alert弹窗处理页面刷新(代码片段)

测试内容1.百度首页-设置-搜索设置,涉及下拉列表处理和单选、弹窗处理2.百度首页-设置-高级搜索,涉及页面刷新后的处理、下拉列表   代码实现 firefox_driver=webdriver.Firefox()firefox_driver.get("https://www.baidu.com/")firefox... 查看详情

selenium基础(警告框的处理)(代码片段)

selenium基础(警告框的处理)在webdriver中处理JavaScript所产生的的警告框有三种类型alertconfirmprompt划转到警告框的方法是:driver.switch_to.alert然后使用text、accept、dismiss、send_keys等方法进行操作text:返回(获取)alert/confirm/prompt中的... 查看详情

python中selenium_webdriver下拉框操作(代码片段)

下拉框操作需要用:fromselenium.webdriver.support.selectimportSelect引入Select类:fromseleniumimportwebdriver#引入webdriverfromselenium.webdriver.support.selectimportSelect#引入Selectfromtimeimportsleep#引入时间driver=webdriver.Firefox()#打开火狐浏览器driver.... 查看详情

selenium日期控件处理(代码片段)

...法,先定位到日期控件,再选择日期代码:#coding=utf-8fromseleniumimportwebdriverfromtimeimportsleep#驱动文件路径 查看详情

web自动化测试10:selenium下拉选择框弹出框滚动条操作(代码片段)

...a;Web自动化测试工具选择大全👼Web自动化测试03:Selenium安装配置,详细教程👼Web自动化测试04:Sel 查看详情

python自动化之selenium以及接口自动化(代码片段)

文章目录八大元素定位id、namelinktext、partiallinktextclassname、tagnamecossselector、xpath其他特殊定位处理有框架的定位处理下拉框的定位弹窗处理alert弹窗其他弹窗div文本获取鼠标和键盘操作文件上传操作页面切换基于网易云的登录自... 查看详情

selenium多表单操作与多窗口,以及警告框处理(代码片段)

知识是需要经常温习的,不然是很容易遗忘的。以前自己操作IFRAME,多窗口的时候,觉得很简单。半年没有操作自动化了,知识又还了回去。写博客有一个好处,可以把自己记住的知识点记录下来,这样,以后自己来翻看的时候... 查看详情