Python+Selenium4环境搭建与原理讲解_web自动化(1)

这篇具有很好参考价值的文章主要介绍了Python+Selenium4环境搭建与原理讲解_web自动化(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 认识Selenium

2. Selenium 三大组件

3. Selenium自动化测试环境搭建

3.1 安装selenium 库

3.2 安装浏览器驱动

1. 查看浏览器版本号

2. 下载浏览器驱动

3. 把driver移动到Path目录

4. 验证driver就绪  

3.3 启动浏览器

4. Selenium自动化测试环境的自动化配置

1. 安装依赖

2. 启动浏览器

5. Selenium工作原理

5.1 指令执行路径

5.2 指令内容

5.3 两大对象

今日内容:环境搭建与原理讲解(Selenium的三大组件、两大对象、webdriver类型和下载、webdriver协议原理)

1. 认识Selenium

是一个综合性项目:包含一系列的工具和库,支持 Web 浏览器的各种 自动化操作:
软件测试
爬虫领域
RPA 领域
特点:
1. 开源: https://github.com/SeleniumHQ
2. 兼容性: Chrome FireFox Edeg IE Opera Safari
3. 支持多种编程语言: Java Python C# Ruby JavaScript
4. 执行并行测试: Grid 组件可以实现在多个机器上并行执行用例,极大的提高测试效率
简单来说:selenium 成熟、知名、强大,是新手学习首选

2. Selenium 三大组件

Selenium 中包含三大组件,共同构成浏览器自动化操作的工具集
1. Selenium IDE (录制、调试测试用例)
2. Selenium WebDriver (执行用例)
3. Selenium Grid (远程、并行执行用例)
    其中, WebDriver 是最重要组件

3. Selenium自动化测试环境搭建

Python+Selenium4环境搭建与原理讲解_web自动化(1)
Selenium WebDriver 环境搭建以下几个部分:
  • 编程语言
  • selenium
  • 浏览器驱动 driver
  • 浏览器
关于浏览器、编程语言的安装,这里掠过,有困难的同学 可以单独找老师

3.1 安装selenium 库

pip install selenium

3.2 安装浏览器驱动

以 谷歌 + 火狐 为例 演示如何安装

1. 查看浏览器版本号

谷歌:帮助 - 关于 - 版本 105.0.5195.127(正式版本) (64 位)
火狐:帮助 - 关于 - 95.0.2 (64 ) - 最新版本

2. 下载浏览器驱动

谷歌:
1. 访问 : https://npm.taobao.org/mirrors/chromedriver/
2. 选择版本
3. 选择操作系统
4. 下载、解压
Python+Selenium4环境搭建与原理讲解_web自动化(1)
火狐:
        1. 访问 : https://npm.taobao.org/mirrors/geckodriver/
        2. 选择版本
        3. 选择操作系统
        4. 选择 32 ore 64
        5. 下载、解压

3. driver移动到Path目录

     Windows中查看 Path 目录,推荐放在 Python 目录中
set Path
Python+Selenium4环境搭建与原理讲解_web自动化(1)
Python+Selenium4环境搭建与原理讲解_web自动化(1)

   Linux 、Mac 查看Path目录

echo $PATH

4. 验证driver就绪  

执行 chromedriver 可以看到结果
Python+Selenium4环境搭建与原理讲解_web自动化(1)

3.3 启动浏览器

Python+Selenium4环境搭建与原理讲解_web自动化(1)

4. Selenium自动化测试环境的自动化配置

手动配置弊端:
  • 繁琐
  • 需要更新,反复操作
需要怎么自动化配置:
   1. 自动安装 selenium
  2. 自动选择合适 driver
  3. 自动下载和配置 driver
  4. 自动启动浏览器

1. 安装依赖

搭建环境,需要Python3.9以上

 pip install webdriver-helper

2. 启动浏览器

from webdriver_helper import *
driver = get_webdriver () # 默认是谷歌
driver = get_webdriver ( "firefox" ) # 可以指定火狐
driver . get ( "https://baidu.com" )
自动将 dirver 安装到 home 目录下的 .wdm 目录
#get_webdriver()后,不使用with也会自动关闭浏览器
with get_webdriver() as driver:
    driver.get("https://www.baidu.com")

5. Selenium工作原理

Selenium WebDriver 的工作原理

5.1 指令执行路径

先看一个代码示例
from selenium.webdriver.common.by import By 
from webdriver_helper import * 
driver = get_webdriver() # 启动浏览器 
driver.get("https://baidu.com") # 访问指定的页面 
ele = driver.find_element(By.XPATH, '//*[@id="kw"]') 
ele.send_keys("百度一下?") 
driver.quit()
WebDriver 启动过程中:
  1. 检查参数,宣布弃用
  2. 启动 Service service.start() (执行 chromedriver.exe
  3. Service 提供 Restful API ,接口文档: https://www.w3.org/TR/webdriver
  4. 调用了一次接口: new_session
  5. 其他的所有的事情,都是调用 driver 提供的接口实现的
Python 代码 -- 调用 ---> selenium --- 发送 HTTP 请求 ---> 浏览器驱动 ---- (特殊方法) --> 浏览器
chrome websocket 调用 devtools 协议

5.2 指令内容

https://www.w3.org/TR/webdriver w3c 标准
  • webdriver 协议 约定内容
  • js代码
  • 今天,还有很多指令通过js实现
    • getAttribute.js 获取元素属性
    • isDisplayed.js 判断元素是否可见
    • findElement.js 相对定位 se4新特性

5.3 两大对象

selenium将各项工作细节进行封装,并且通过 面向对象 的方式提供API给技术人员调用
这些API主要集中2个对象中:
  • WebDriver 对象: 整个页面,浏览器本身
  • WebElemen 对象: 页面中某个元素
如果我们需要获取信息:访问对象的属性
当我们需要修改信息: 调用对象的方法
Python+Selenium4环境搭建与原理讲解_web自动化(1)

 其中: WebElement对象要通过元素定位来获取 文章来源地址https://www.toymoban.com/news/detail-458661.html

怎么知道有哪些方法?有哪些属性?
  •  https://www.selenium.dev/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webelement.html#module-selenium.webdriver.remote.webelement
  •  https://www.selenium.dev/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html#module-selenium.webdriver.remote.webdriver
有权威信息来源 

总结

  • selenium 有三大组件,其中最核心的是WebDriver
    • WebDriver 通过面向对象的方式,为技术人员提供结构
    • WebDriver 通过Restful API 的方式 调用 浏览器驱动,完成浏览器控制
    • 整个过程,已经成为w3c标准,这个标准称为WebDriver 协议
  • selenium 两大对象:
    • 对浏览器的操作: WebDriver对象
    • 对元素的操作: WebElement对象
  • Selenium4 已经发布,具体新的语法和特性
    • 本次课程使用 selenium 4.1.0
    • 没有明确说明的部分,也可能是selenium4的特性,从而在selenium3中报错
    • selenium 4 的主要特性
      • webdriver 的启动参数
      • 元素定位api
      • 相对定位
      • 双向API (bidi_api) 草稿阶段
  • selenium 测试环境,可以手动搭建,也可以自动化搭建
pip install webdriver-helper
from selenium import webdriver
driver = webdriver.Chrome()
webdriver能用比较通俗的语言描述是个什么东西?
过去: webdriver 是selenium 组件之一
现在: webdriver 是w3c标准之一,约定如何自动化控制浏览器
对于代码: WebDriver(class WebDriver) 是 webdrievr(selenium组件之一) 提供主要对象
之一,实现浏览器层面的操作

到了这里,关于Python+Selenium4环境搭建与原理讲解_web自动化(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web自动化测试框架落地实施全过程-测试环境搭建 (Selenium+Python)

    Web自动化测试是指使用自动化工具模拟用户在Web浏览器中执行的操作,通过编写脚本来自动化执行测试用例,以验证Web应用程序的功能、性能和兼容性等方面的质量。其主要目的是降低测试成本和时间,并提高测试效率和准确性。 Web自动化测试通常包括以下步骤: 确定测试

    2024年02月09日
    浏览(82)
  • selenium4 自动化测试--环境安装和基础操作

    最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,但是对于没有学过的人来说,通过资料再到自己写的代码,发现有些东西没有,有些方法又不相同,导致脚本不能运行

    2024年01月21日
    浏览(60)
  • 一、搭建selenium web自动化集成环境

    一、安装Python 下载地址:​​https://www.python.org/downloads/​​ 二、安装selenium 1.由于使用的Mac,在无法卸载python2的情况下,进入命令行输入pip3 install selenium安装selenium 2.在命令行输入python3,进入到python命令行界面,输入from selenium import webdriver,如果没有报错代表已经安装成功

    2024年02月01日
    浏览(41)
  • python爬虫之selenium4使用(万字讲解)

    声明以下的例子,只是来作为测试学习,并不作为真正的爬虫 我们在浏览一些网站时,有不少内容是通过 JavaScript动态渲染的,或是 AJAX 请求后端加载数据,这其中涉及到了不少加密参数如 token,sign,难以找规律,较为复杂。像前面的百度贴吧的一个评论的回复,百度翻译等

    2024年04月10日
    浏览(96)
  • python+selenium自动化测试环境搭建步骤(selenium环境搭建)

     📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢交流讨论:欢迎加入我们一起学习! 📢资源分享:耗时200+小时精选的「软件测试」资料包 📢 软件测试学习教程推荐:火遍全网的《软件测试》教程 ​ 1.自动化测试概念:       是

    2024年01月22日
    浏览(53)
  • 自动化测试之八大元素定位方式(python3.10+selenium4)

    元素的定位是自动化测试核心。要操作一个对象,首先要识别定位或找到这个对象。为了实现网页整体布局,我们先要知道,一个元素,是如何定位到页面上的某个位置的,这就是元素定位。 系统环境 Windows 11 📌 python3.10.5 🔖 selenium 4.8.0 🚩 注意:以下每种定位方式均有一

    2024年02月03日
    浏览(74)
  • Python+selenium,轻松搭建 Web 自动化测试框架

    在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。 「自动化测试」就是一个最好的例子。 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务要求,只能被企业逐步裁员淘汰。 「自动化测试

    2024年02月10日
    浏览(103)
  • selenium+python自动化测试之环境搭建

    最近由于公司有一个向谷歌网站上传文件的需求,需要进行web的自动化测试,选择了selenium这个自动化测试框架,以前没有接触过这门技术,所以研究了一下,使用python来实现自动化脚本,从环境搭建到实现脚本运行。 selenium是一个用于Web应用程序测试的工具。Selenium测试直接

    2024年01月19日
    浏览(57)
  • Python + Selenium 自动化测试入门-环境搭建

    1、python 开发环境安装         python官网下载地址:https://www.python.org/downloads/         命令行查看安装python版本:python --version  python -V 2、pycharm 开发工具安装         pycharm官网下载地址:​​​​​​https://www.jetbrains.com/pycharm/download/ 3、selenium 工具包安装         命令行

    2023年04月14日
    浏览(59)
  • 浏览器常用基本操作之python3+selenium4自动化测试(基础篇)

    1、打开指定的网页地址 我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现 1 2 3 from selenium import webdriver driver = webdriver.Edge() driver.get( \\\'https://www.baidu.com/\\\' )   # 本行用于访问指定的地址 2、获取当前页面url 我们在

    2024年02月01日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包