IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Selenium之下拉选择框、 弹出框、 滚动条操作 -> 正文阅读

[开发测试]Selenium之下拉选择框、 弹出框、 滚动条操作

Select类

Select类是Selenium为操作select标签特殊封装的。
实例化对象:select = Select(element)
element: <select>标签对应的元素, 通过元素定位方式获取,
例如: driver.find_element_by_id("selectA")
操作方法:
1. select_by_index(index) --> 根据option索引来定位, 从0开始
2. select_by_value(value) --> 根据option属性 value值来定位
3. select_by_visible_text(text) --> 根据option显示文本来定位

Select类实现步骤分析

1. 导包 Select类 --> from selenium.webdriver.support.select import Select
2. 实例化Select类 select = Select(driver.find_element_by_id("selectA"))
3. 调用方法: select.select_by_index(index)

# 需求: 使用‘注册A.html’页面, 完成对城市的下拉框的操作
# 1).选择‘广州’
# 2).暂停2秒, 选择‘上海’
# 3).暂停2秒, 选择‘北京’
from time import sleep
from selenium import webdriver
#导包
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome()
driver.get("D:\python\web自动化\显式、隐式等待\注册A.html")
select = Select(driver.find_element_by_id("selectA"))
select.select_by_index(2) # 根据索引实现
sleep(2)
select.select_by_value("sh") # 根据value属性实现
sleep(2)
select.select_by_visible_text("A北京") # 根据文本内容实现
sleep(2)
driver.quit()

弹出框处理

为什么需要处理弹框

如果页面出现弹框不进行处理,那么接下来的操作将不生效

网页中常用的弹出框有三种

  • 1. alert 警告框
  • 2. confirm 确认框
  • 3. prompt 提示框

弹出框处理方法

Selenium中对处理弹出框的操作, 有专用的处理方法; 并且处理的方法都一样

1. 切换到对话框
alert = driver.switch_to.alert

2. 处理对话框

  • alert.text???????????????????????? 返回alert/confirm/prompt中的文字信息
  • alert.accept()? ? ? ? ? ? ? ? ? 同意对话框选项
  • alert.dismiss()????????????????取消对话框选

注:无论以上哪个对话框都可以使用同意、取消,因为调用的是后台的事件,跟页面显示的按钮数量无关;

# 需求: 打开注册A.html页面, 完成以下操作:
# 1).点击 alert 按钮
# 2).关闭警告框
# 3).输入用户名: admin
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("D:\python\web自动化\显式、隐式等待\注册A.html")
# 定位alerta按钮
driver.find_element_by_id("alerta").click()
sleep(2)
# 获取警告框
alert = driver.switch_to.alert
# 打印警告框文本
print(alert.text)
sleep(2)
# 接受警告框
alert.accept()
sleep(2)
# 取消警告框
alert.dismiss()
sleep(2)
driver.find_element_by_css_selector("#userA").send_keys("admin")
sleep(2)
driver.quit()

滚动条操作

selenium中并没有直接提供操作滚动条的方法, 但是它提供了可执行JavaScript脚本的方法, 所以我们可以通过JavaScript脚本来达到操作滚动条的目的

1. 设置JavaScript脚本控制滚动条
????????js = "window.scrollTo(0,1000)"(0:左边距; 1000:上边距; 单位像素)
2. selenium调用执行JavaScript脚本的方法
????????driver.execute_script(js)

# 需求: 打开注册页面A, 暂停2秒后, 滚动条拉到最底层
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("D:\python\web自动化\显式、隐式等待\注册A.html")
sleep(2)
# 最底层
js1 = "window.scrollTo(0,10000)"
driver.execute_script(js1)
sleep(2)
# 最顶层
js2 = "window.scrollTo(0,0)"
driver.execute_script(js2)
sleep(2)
driver.quit()

?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-11 00:03:26  更:2021-09-11 00:03:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 3:43:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码