首页 > 其他分享 >selenium之webdriver介绍

selenium之webdriver介绍

时间:2024-04-16 16:44:18浏览次数:28  
标签:webdriver HTTP 浏览器 WebDriver Selenium selenium 介绍 Server 驱动

1、WebDriver工作原理

例子:

我们先从一个打车的例子,来理解下webdriver的工作原理,当我们打车时,会有3个角色:

  • 乘 客 : 告 诉 出 租 车 司 机 去 哪 里 , 大 概 怎 么 走
  • ​出 租 车 司 机 : 按 照 乘 客 的 要 求 来 操 控 出 租 车
  • ​出 租 车 : 出 租 车 按 照 司 机 的 操 控 完 成 真 正 的 行 驶 , 把 乘 客 送 到 目 的 地

对应角色:
  • 工程师写的自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动)
  • 浏览器的驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器
  • 浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。
技术上解释工作原理:
  • WebDriver API(基于Java、Python、C#等语言),对于java语言来说,就是下载下来的Selenium的Jar包,比如Selenium-java-3.8.1.zip包,代表Selenium3.8.1的版本

  • 浏览器的驱动(browser driver),每个浏览器都有自己的驱动,均以exe文件形式存在比如谷歌的chromedriver.exe、火狐的geckodriver.exe、IE的IEDriverServer.exe

  • 浏览器,浏览器当然就是我们很熟悉的常用的各种浏览器(IE、Firefox、Chrome)。

WebDriver和浏览器如何通信:
  • 对于每一条Selenium脚本,一个http请求会被创建并发送给浏览器的驱动
  • 浏览器驱动轴包含了一个HTTP Server,用来接收这些http请求
  • HTTP Server接收到请求后根据请求来具体操控对应的浏览器
  • 浏览器执行具体的测试步骤
  • 浏览器将步骤执行结果返回给HTTP Server
  • HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息

2、WebDriver的协议

  • WebDriver使用的协议是:JSON Wire protocol(是一个公共的通信协议)
  • 通信的数据格式是JSON

标签:webdriver,HTTP,浏览器,WebDriver,Selenium,selenium,介绍,Server,驱动
From: https://www.cnblogs.com/PengHwei/p/18138587

相关文章

  • selenium之常见js操作
    1、简介浏览器对象模型(BrowserObjectModel(BOM))允许JavaScript与浏览器对话。现代的浏览器已经(几乎)实现了JavaScript交互相同的方法和属性,因此它经常作为BOM的方法和属性被提到主要介绍以下浏览器对象模型的Windows对象--窗体location对象--页面操作document对......
  • selenium之浏览器操作和句柄、常见f12操作
    1、获取驱动1.1查看版本号1.2驱动下载下载驱动https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/?form=MA13LH进入页面后选择对应版本下载1.3驱动配置将解压后的浏览器驱动放在python同级目录2、操作浏览器2.1常用操作fromseleniumimpo......
  • day10_02_我的Java学习笔记 (JavaSE加强课程介绍、先建空工程--再建模块--然后建包--
    JavaSE基础加强课程介绍1.JavaSE加强课程简介2.IDEA开发模式统一工程,相当于一个小区的院子;模块,是小区的哪一栋;包,是这栋楼的那一单元类,是这个单元的哪一层楼;对象,是这层楼具体的某一户房间。eg:溪山美地二区--工程9栋--模块4单元--包8楼--......
  • 搭建 Windows GPU 服务器需要考虑多个方面,包括硬件选择、操作系统安装、驱动程序安装
    搭建WindowsGPU服务器需要考虑多个方面,包括硬件选择、操作系统安装、驱动程序安装、软件配置等。以下是一个简单的指南,介绍了搭建WindowsGPU服务器的基本步骤:1.硬件选择选择适合您需求的硬件配置,包括GPU、CPU、内存和存储。GPU是关键的组件,应根据您的应用需求选择......
  • csharp selenium HtmlAgilityPack 爬虫 网页解析 微信公众号
    Wechat.Crawler/App/App.csproj<ProjectSdk="Microsoft.NET.Sdk"><ItemGroup><ProjectReferenceInclude="..\Blog\Blog.csproj"/></ItemGroup><ItemGroup><NoneUpdate="nlog.config&......
  • 补档 荷兰留学概况一站式介绍_赵梦晨的博客_新东方前途出国
    荷兰留学概况一站式介绍_赵梦晨的博客_新东方前途出国 荷兰留学一站式介绍微资讯bygrace 2020-06-0718:45   美丽的郁金香之国-荷兰留学简介 国土面积:4.1万平方公里人口:1700万人政体:君主立宪制人均国民生产总值:5.3万美元,世界排名第十三位著名城......
  • Go 标准库之 GoRequests 介绍与基本使用
    目录一、介绍二、安装三、导入四、基本使用4.1发送GET请求4.2POST请求发送JSON数据4.3Post文件上传4.4GoRequests使用代理4.5Gorequests使用session一、介绍官方文档DOC:https://pkg.go.dev/github.com/levigross/grequestsGithub:http://github.com/levigross/gr......
  • 01、可靠性介绍
    可靠性介绍定义可靠性是降低网络中断时间、保证网络中业务质量,提升用户体验的一项技术。随着网络的快速普及和应用的日益深入,各种增值业务(如IPTV、视频会议等)得到了广泛部署,网络中断可能影响大量业务、造成重大损失。因此,作为业务承载主体的基础网络,其可靠性日益成为受关注......
  • 肖sir__app测试之介绍(18.0)
    app测试app功能测试和app自动化测试===============================(一)app手工测试app手工测试:就是在app上进行手工测试app自动化测试使用代码或工具来代替手工测试(二)web测试和app测试区别?(1)单纯从功能测试的层面上来讲的化,app测试、web测试在流程和功能测试上是没有区别(2)......
  • 15--Scrapy01:介绍与初步使用
    Scrapy01--基本介绍与初步使用一、爬虫工程化何为工程化,就是让你的程序更加的有体系,有逻辑,更加的模块化.到目前为止,我们所编写的爬虫我们都是从头到尾的每一步都要亲力亲为.这样做固然有其优点(可控性更好),但是各位请认真思考.这样的代码逻辑是不能形成批量生产的效果的(写10......