1、下拉选择框操作

  下拉框就是HTML中<select>元素;
 
先列需求:
需求:使用‘注册A.html’页面,完成对城市的下拉框的操作
1).选择‘广州’
2).暂停2秒,选择‘上海’
3).暂停2秒,选择‘北京’
 
我们首先可以通过直接定位下拉框中的内容对应的元素,完成对下拉框元素的处理,我们也可以通过select类
 
我们先来认识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)
 
我们来做一下上面需求:
from selenium.webdriver.support.select import Select
select = Select(driver.find_element_by_id("selectA"))
select.select_by_index(2) # 根据索引实现
select.select_by_value("sh") # 根据value属性实现
select.select_by_visible_text("A北京") # 根据文本内容实现
 

2、弹出框处理

  应用场景:页面操作中,一旦出现弹窗,不进行处理,后续的操作无法进行
  弹窗分类:1、系统弹窗(js实现)  2、自定义弹窗(前端代码封装)
 
网页中常用的弹出框有三种:
            1. alert 警告框
            2. confirm 确认框
            3. prompt 提示框
 
先列需求:
需求:打开注册A.html页面,完成以下操作:
1).点击 alert 按钮
2).关闭警告框
3).输入用户名:admin
 
说明:Selenium中对处理弹出框的操作,有专用的处理方法;并且处理的方法都一样
   (只要是系统弹窗,不论是哪一个,都是alert)
 
  1. 获取弹出框对象
      alert = driver.switch_to.alert
  2. 调用
      alert.text -->     返回alert/confirm/prompt中的文字信息
      alert.accept() -->   接受对话框选项
      alert.dismiss() -->   取消对话框选项
 
我们来做一下上面需求:大家可以做一下
 
自定义弹窗可以通过定位元素,来进行操作

3、滚动条操作

为什么需要滚动条呢?

  1. 在HTML页面中,由于前端技术框架的原因,页面元素为动态显示,元素根据滚动条的下拉而被加载
  2. 页面注册同意条款,需要滚动条到最底层,才能点击同意
 
 
先提需求:打开注册页面A,暂停2秒后,滚动条拉到最底层
 
说明:selenium中并没有直接提供操作滚动条的方法,但是它提供了可执行JavaScript脚本的方法,所以我们可以通过JavaScript脚本来达到操作滚动条的目的。
  1. 设置JavaScript脚本控制滚动条
    js = "window.scrollTo(0,1000)"
    (0:左边距;1000:只是一个尽可能大的值,不是准确值)
  2. selenium调用执行JavaScript脚本的方法
    driver.execute_script(js)
 
我们来做一下上边需求:
 
# 最底层
js1 = "window.scrollTo(0,10000)"
driver.execute_script(js1)
# 最顶层
js2 = "window.scrollTo(0,0)"
driver.execute_script(js2)
 
 

web自动化08-下拉选择框、弹出框、滚动条的更多相关文章

  1. bootstrap 响应式导航条模板(含下拉菜单,弹出框)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Web标准:八、下拉及多级弹出菜单

    Web标准:八.下拉及多级弹出菜单 知识点: 1.带下拉子菜单的导航菜单 2.绝对定位和浮动的区别和运用 3.CSS自适应宽度滑动门菜单   1)带下拉子菜单的导航菜单 带下拉子菜单的就是在一级导航下 ...

  3. selenium+鼠标操作+键盘操作+下拉框+弹出框+滚动条+三种等待--代码

    鼠标操作 键盘操作 下拉框 弹出框 滚动条 1 from time import sleep 2 from selenium import webdriver 3 4 driver = webdriv ...

  4. 安卓系统浏览器中select下拉按钮无法弹出选择面板奇怪问题解决

    今天遇到个让人崩溃的问题: 平台: 安卓 4.0 描述: 使用 appcan 开发 hybrid 应用,手机上点击下拉选框按钮无法弹出选择面板. 说明: 发现 webkit 内核 position:f ...

  5. web自动化,下拉滚动到底部/顶部和下拉滚动到指定的元素

    在web自动化,经常会遇到页面显示内容太多的时候,页面就会出现滚动条,一般有两种方式进行下拉,一种是直接下拉到底部/顶部/中部,或者直接给定元素,直接下拉到指定元素的位置. 两种方式的共同点: 两种方 ...

  6. 黄聪:TinyMCE 4 增强 添加样式、按钮、字体、下拉菜单和弹出式窗口

    我最喜欢 WordPress 3.9 的更新是使用了 TinyMCE 4.0 编辑器.新的 TinyMCE 看起来看起来更整洁(真正匹配WP仪表板),它有一些非常不错的附加功能.我的很多老主题和插件必 ...

  7. 解决IE6下select显示在弹出框上问题

    利用定位position:absolute;z-index:1;和iframe[z-index:-1]来解决此问题,最好根据需要加上: border='0' frameborder='0' scrol ...

  8. 解决bootStrap selectpicker 下拉栏上方弹出

    最近项目中遇到了一个使用bootStrap selectpicker 进行下拉栏展示的时候出现在元素上方弹出展示的问题,可把我难受坏了,和测试互怼最终以失败告终(人家还是一个娇滴滴的小姑娘),在查了a ...

  9. select 下拉选择自动到textarea框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. ⒁bootstrap组件 工具提示框 弹出框 警告框 基础案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. dart基础---->dart语法入门

    Dart is an open source, structured programming language for creating complex, browser-based web appl ...

  2. 11.getshell常见思路与技巧

    getshell常见思路与技巧 1.常规打点思路 信息收集: 绕开CDN找到所有靶标的真实IP 找到所有目标真实的C段 对所有的C段进行基础服务器的探测,端口的扫描.识别 对所有目标的子域名进行收集 ...

  3. 原生请求 js、jquery封装的ajax请求、axios请求与fetch请求区别与优缺点

    原生JS请求 现代浏览器,最开始与服务器交换数据,都是通过XMLHttpRequest对象.它可以使用JSON.XML.HTML和text文本等格式发送和接收数据. 首先我们先把原生的请求封装一下: ...

  4. 全网最详细 二进制 k8s v1.25.x文档

    二进制安装k8s v1.25.0 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes(k8s)二进制高可用安装部署,支持IPv4+IPv6双栈 ...

  5. window启动和停止服务命令

    NET STOP serviceNET STOP 用于终止 Windows 服务.终止一个服务可以取消这个服务正在使用的任何一个网络连接.同样的一些服务是依赖于另外一些服务的.终止一个服务就会终止其它 ...

  6. [操作系统/网络]Windows安装Openssh(scp / ssh等)

    1 文由 由于项目有这么一个数据同步需求: [业务建设系统方]在Linux上将Oracle的全量数据(.dmp文件)定时推送到[大数据平台建设方]中的一台Linux服务器上: 然后,[大数据平台建设方 ...

  7. [网络/SSH]OpenSSH: sshd / sftp-server / ssh-agent | ssh / scp / sftp | OpenSSL

    1 OpenSSH OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现. OpenSSH是使用SSH透过计算机网络加密通讯的实现. SSH协议族可以用来进行远程控制, 或在计 ...

  8. [Java SE]javac编译时编码错误

    1 问题复现 Information:java: javacTask: 源发行版 8 需要目标发行版 1.8 Information:java: Errors occurred while compi ...

  9. .NET中使用Redis总结 —— 1.Redis搭建

    注:关于如何在windows,linux下配置redis,详见这篇文章:) 下载地址:http://redis.io/download Redis官方是不支持windows的,只是 Microsoft ...

  10. 家用wife密码设置

    1.在浏览器上面输入ip地址:http://192.168.1.1/或http://192.168.0.1/出现路由器登陆窗口输入用户名跟密码.用户名默认一般为:admin,密码为空或为:admin ...