当前位置: 首页 > news >正文

selenium框架学习

概念

WEB自动化框架
三大组件:

  • selenium IDE 浏览器插件,实现脚本录制
  • WebDriver 实现对浏览器的各种操作(API包)
  • Grid 实现同时对多个用例进行执行,用例在多个浏览器同步执行

环境搭建

1、安装selenium:

pip install selenium

2、安装浏览器
3、安装浏览器驱动(对应的驱动,版本必须一致)

将其复制在python路径下(selenium默认会寻找@path路径)

注意: 浏览器版本必须和浏览器驱动版本必须一致。
google driver下载地址:goole driver
在这里插入图片描述

底层

selenium框架 操作 浏览器驱动 操作 浏览器

1、启动浏览器驱动服务
2、webdriver脚本与浏览器建立连接,在发送请求(JsonWoreProtocol指令包)

其实底层就是将原本复杂的浏览器操作进行了封装,让浏览器操作更加简单

即客户端为脚本,服务器为浏览器驱动

浏览器常见操作

操作代码
最大化driver.maximize_window()
最小化driver.minimize_window()
指定窗口大小driver.set_window_size(2000, 800)
前进driver.forward()
后退driver.back()
获取网页标题driver.tit
获取网页urldriver.current_ur
获取网页信息driver.page_source
截图driver.get_screenshot_as_file(‘路径’)

三种等待方式

  • 自接等待:
    time.sleep(5)

  • 隐视等待:
    drive.implicitly_wait(5) # 在轮询时间内等待到了就执行,全局变量

  • 显示等待:
    WebDriverWait(driver, 10, 0.6).until()
    参数:1.driver:浏览器对象
    2.最长等待时间
    3.每隔多久查找一次,默认0.5
    方法:1.until(‘判断一个元素是否在页面出现的方法’):每隔一段时间调用这个传入的方法,直到返回值不是False
    2.方法为:expected_conditions.element_to_be_clickable(“元素定位”)

  • 显示等待,封装成简单的方法
    1、分装

from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWaitclass MyGonJu

相关文章:

  • Aigtek电压放大器的主要作用是什么
  • 华为手机数据恢复,2个技巧介绍,误删文件后的紧急处理
  • Python界面编辑器Tkinter布局助手 使用体验
  • 目标跟踪——KCF源码用python实现
  • 本地无法连接linux上的MariaDB数据库
  • 好用的便签是什么 电脑桌面上好用的便签
  • 【51单片机基础教程】点亮led
  • go编程中接口(interface)用法
  • springboot基于Web的社区医院管理服务系统 LW+ PPT+源码+讲解
  • 深入理解和实现Windows进程间通信(共享内存)
  • 防火墙规则来阻止攻击者的 IP 地址
  • Vim入门教程
  • 9、PHP 实现调整数组顺序使奇数位于偶数前面
  • 【CT】LeetCode手撕—300. 最长递增子序列
  • 手机在网状态-手机在网状态查询-手机在网站状态接口
  • 时间复杂度分析经典问题——最大子序列和
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 【个人向】《HTTP图解》阅后小结
  • 4. 路由到控制器 - Laravel从零开始教程
  • AHK 中 = 和 == 等比较运算符的用法
  • Android开源项目规范总结
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • eclipse(luna)创建web工程
  • GitUp, 你不可错过的秀外慧中的git工具
  • Intervention/image 图片处理扩展包的安装和使用
  • JS学习笔记——闭包
  • Python学习之路16-使用API
  • Spark RDD学习: aggregate函数
  • Swift 中的尾递归和蹦床
  • vue总结
  • windows-nginx-https-本地配置
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 分享一份非常强势的Android面试题
  • 开源地图数据可视化库——mapnik
  • 前端面试总结(at, md)
  • 前端之Sass/Scss实战笔记
  • 数据科学 第 3 章 11 字符串处理
  • 以太坊客户端Geth命令参数详解
  • kubernetes资源对象--ingress
  • ​secrets --- 生成管理密码的安全随机数​
  • !!java web学习笔记(一到五)
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #QT项目实战(天气预报)
  • (Git) gitignore基础使用
  • (Python) SOAP Web Service (HTTP POST)
  • (TOJ2804)Even? Odd?
  • (笔记)M1使用hombrew安装qemu
  • (待修改)PyG安装步骤
  • (二)linux使用docker容器运行mysql
  • (剑指Offer)面试题34:丑数
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF