6 下拉选择框警告框滚动条操作

Posted shibojie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6 下拉选择框警告框滚动条操作相关的知识,希望对你有一定的参考价值。

下拉选择框、警告框、滚动条操作

1 下拉选择框选择

1.1 Select类

Select类是WebDriver为解决select标签定位诞生的,此类定位的是select标签
from selenium.webdriver.support.select import Select

1.2 select方法

1. select_by_index()  根据option索引来定位,从0开始
2. select_by_value()  根据option属性 value值来定位
3. select_by_visible_text()   根据option显示文本来定位

1.3 Select类实现 步骤分析

1. 导包 Select类 --> from selenium.webdriver.support.select import Select
2. 实例化Select类 select=Select(WebElemet)
                    (WebElement):driver.find_element_by_id("selectA"))
3. 调用方法:select.select_by_index(index)
                (index:为列表索引,从0开始)

1.4 Select实现代码 总结

#导包
from selenium.webdriver.support.select import Select
...
# 1. 根据索引实现
select.select_by_index(1)
select.select_by_index(3)
select.select_by_index(2)
# 2. 根据文本值实现
select.select_by_visible_text("A上海")
select.select_by_visible_text("A重庆")
select.select_by_visible_text("A广州")
# 3. 根据value属性实现
select.select_by_value("sh")
select.select_by_value("cq")
select.select_by_value("gz")
...

2 警告框选择

2.1 警告框处理方法

1. text 返回alert/confirm/prompt中的文字信息
2. accept()  接受对话框选项
3. dismiss()  取消对话框选项

2.2 调用方法

1. 获取警告框 
        alert=driver.switch_to.alert
2. 调用
        alert.text
        alert.accept()
        alert.dismiss()

2.3 处理警告框-总结

# 定位alerta按钮
driver.find_element_by_id("alerta").click()
# 获取警告框
alert=driver.switch_to.alert
# 打印警告框文本
print(alert.text)
# 接受警告框
alert.accept()
# 取消警告框
#alert.dismiss()

3 滚动条操作

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

3.1 控制滚动条实现代码

# 最底层
js1="window.scrollTo(0,1000)"
# 最顶层
js2="window.scrollTo(0,0)"
# 执行最底层
driver.execute_script(js1)
# 执行最顶层
driver.execute_script(js2)

3.2 滚动条总结

1. WebDriver控制滚动方法
2. javascript控制滚动条语句

备注:js控制滚动条语句有很多种,如:js=document.documentElement.scrollTop=1000;但是推荐使用JS调用
      window句柄去控制;

以上是关于6 下拉选择框警告框滚动条操作的主要内容,如果未能解决你的问题,请参考以下文章

Web自动化测试10:Selenium下拉选择框弹出框滚动条操作

如何控制下拉框显示条数

在 Excel 中,列表框可​​以有一个下拉菜单而不是滚动条吗?

Angular实现虚拟滚动多选下拉框笔记

win32day10-组合框/列表框/滚动条/控件的自绘制

如何在select下拉框设置滚动条