selenium源码通读·12 |webdriver/remote分析

简介: selenium源码通读·12 |webdriver/remote分析

1 源码路径

selenium/webdriver/remote

在这里插入图片描述

2 功能说明

方法 描述 说明
command.py Defines constants for the standard WebDriver commands 定义标准WebDriver命令的常量
errorhandler.py Error codes defined in the WebDriver wire protocol WebDriver wire协议中定义的错误代码
file_detector.py Used for identifying whether a sequence of chars represents the path to a file 用于标识字符序列是否表示文件的路径
getAttribute.js / 获取属性
isDisplayed.js / 判断元素是否显示
mobile.py / 定义移动端的功能
remote_connection.py A connection with the Remote WebDriver server 与远程WebDriver服务器的连接
switch_to.py / 切换能力
utils.py / 辅助能力
webdriver.py The WebDriver implementation 定义webdriver核心API
WebElement.py Represents a DOM element 定义对webdriver element操作的能力

3 部分功能详解

3.1 command.py

  • 定义标准WebDriver命令的常量;
  • 如下:

在这里插入图片描述

  • 比如我们常用的(部分):
常量
CLOSE close
QUIT quit
GET get
REFRESH refresh
GET_COOKIE getCookie
FIND_ELEMENT findElement
FIND_ELEMENTS findElements
GET_TITLE getTitle
SCREENSHOT screenshot
SET_TIMEOUTS setTimeouts
MAXIMIZE_WINDOW windowMaximize
MINIMIZE_WINDOW minimizeWindow
  • Alerts相关常量

在这里插入图片描述

  • Advanced user interactions常量

在这里插入图片描述

  • Screen Orientation常量

在这里插入图片描述

  • Touch Actions常量

在这里插入图片描述

  • HTML 5常量

在这里插入图片描述
在这里插入图片描述

  • Mobile常量

在这里插入图片描述

3.2 errorhandler.py

  • WebDriver wire协议中定义的错误代码
  • 如下:

在这里插入图片描述

  • 代码说明:
代码 标识 说明
0 SUCCESS 成功
7 NO_SUCH_ELEMENT no such element
8 NO_SUCH_FRAME no such frame
9 UNKNOWN_COMMAND unknown command
10 STALE_ELEMENT_REFERENCE stale element reference
11 ELEMENT_NOT_VISIBLE element not visible
12 INVALID_ELEMENT_STATE invalid element state
13 UNKNOWN_ERROR unknown error
15 ELEMENT_IS_NOT_SELECTABLE element not selectable
17 JAVASCRIPT_ERROR javascript error
19 XPATH_LOOKUP_ERROR invalid selector
21 TIMEOUT timeout
23 NO_SUCH_WINDOW no such window
24 INVALID_COOKIE_DOMAIN invalid cookie domain
25 UNABLE_TO_SET_COOKIE unable to set cookie
26 UNEXPECTED_ALERT_OPEN unexpected alert open
27 NO_ALERT_OPEN no such alert
28 SCRIPT_TIMEOUT script timeout
29 INVALID_ELEMENT_COORDINATES invalid element coordinates
30 IME_NOT_AVAILABLE ime not available
31 IME_ENGINE_ACTIVATION_FAILED ime engine activation failed
32 INVALID_SELECTOR invalid selector
33 SESSION_NOT_CREATED session not created
34 MOVE_TARGET_OUT_OF_BOUNDS move target out of bounds
51 INVALID_XPATH_SELECTOR invalid selector
52 INVALID_XPATH_SELECTOR_RETURN_TYPER invalid selector
60 ELEMENT_NOT_INTERACTABLE element not interactable
/ INSECURE_CERTIFICATE insecure certificate
61 INVALID_ARGUMENT invalid argument
/ INVALID_COORDINATES invalid coordinates
/ INVALID_SESSION_ID invalid session id
62 NO_SUCH_COOKIE no such cookie
63 UNABLE_TO_CAPTURE_SCREEN unable to capture screen
64 ELEMENT_CLICK_INTERCEPTED element click intercepted
/ UNKNOWN_METHOD unknown method exception
405 METHOD_NOT_ALLOWED unsupported operation
目录
相关文章
|
23天前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
|
2月前
|
数据采集 Web App开发 测试技术
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
在网络爬虫领域,Selenium与WebDriver是实现跨浏览器自动化数据抓取的利器。本文详细介绍了如何利用Selenium和WebDriver结合代理IP技术提升数据抓取的稳定性和效率。通过设置user-agent和cookie来模拟真实用户行为,避免被网站检测和阻止。文章提供了具体的代码示例,展示了如何配置代理IP、设置user-agent和cookie,并实现了跨浏览器的数据抓取。合理的参数配置能有效减少爬虫被封禁的风险,提高数据抓取效率。
289 6
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
|
2月前
|
Web App开发 JavaScript Java
自动化测试的利剑:Selenium WebDriver入门与实践
【9月更文挑战第21天】在软件开发的海洋中,自动化测试犹如一艘船,帮助开发者们快速航行至质量保证的彼岸。本文将作为你的罗盘,指引你了解和掌握Selenium WebDriver这一强大的自动化测试工具。通过深入浅出的方式,我们将探索Selenium WebDriver的基本概念、安装过程以及编写简单测试脚本的方法。无论你是刚接触自动化测试的新手,还是希望提升测试技能的开发者,这篇文章都将为你提供有价值的指导。
|
2月前
|
Web App开发 Java 测试技术
自动化测试的利器:Selenium WebDriver入门与实践
【9月更文挑战第8天】在软件开发的海洋中,测试是确保我们不会溺水的那根救生索。Selenium WebDriver,作为自动化测试的明星工具,让这根救生索更加结实可靠。本文将带你快速上手Selenium WebDriver,从基础设置到实际操作,再到实战演练,让你的开发之旅更加平稳顺畅。
|
3月前
|
Web App开发 Java 测试技术
自动化测试的新篇章:使用Selenium WebDriver进行高效测试
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试犹如一艘航船,带领着质量保证团队驶向效率与精准的彼岸。本文将揭开Selenium WebDriver的神秘面纱,通过实际案例引导您掌握这一强大的自动化测试工具。我们将从Selenium WebDriver的基础概念出发,逐步深入到代码示例,最后探讨其在现实项目中的应用场景和优势,旨在为您的软件测试之旅提供清晰的指南。
|
1月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
99 5
|
1月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
1月前
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
247 5
|
1月前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。
|
14天前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
12 0