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

1 源码路径

selenium/webdriver/remote

在这里插入图片描述

2 功能说明

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

3 部分功能详解

3.1 command.py

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

  • 如下:
    在这里插入图片描述

  • 比如我们常用的(部分):

常量
CLOSEclose
QUITquit
GETget
REFRESHrefresh
GET_COOKIEgetCookie
FIND_ELEMENTfindElement
FIND_ELEMENTSfindElements
GET_TITLEgetTitle
SCREENSHOTscreenshot
SET_TIMEOUTSsetTimeouts
MAXIMIZE_WINDOWwindowMaximize
MINIMIZE_WINDOWminimizeWindow
  • Alerts相关常量
    在这里插入图片描述

  • Advanced user interactions常量
    在这里插入图片描述

  • Screen Orientation常量
    在这里插入图片描述

  • Touch Actions常量
    在这里插入图片描述

  • HTML 5常量
    在这里插入图片描述
    在这里插入图片描述

  • Mobile常量
    在这里插入图片描述

3.2 errorhandler.py

  • WebDriver wire协议中定义的错误代码
  • 如下:
    在这里插入图片描述
  • 代码说明:
代码标识说明
0SUCCESS成功
7NO_SUCH_ELEMENTno such element
8NO_SUCH_FRAMEno such frame
9UNKNOWN_COMMANDunknown command
10STALE_ELEMENT_REFERENCEstale element reference
11ELEMENT_NOT_VISIBLEelement not visible
12INVALID_ELEMENT_STATEinvalid element state
13UNKNOWN_ERRORunknown error
15ELEMENT_IS_NOT_SELECTABLEelement not selectable
17JAVASCRIPT_ERRORjavascript error
19XPATH_LOOKUP_ERRORinvalid selector
21TIMEOUTtimeout
23NO_SUCH_WINDOWno such window
24INVALID_COOKIE_DOMAINinvalid cookie domain
25UNABLE_TO_SET_COOKIEunable to set cookie
26UNEXPECTED_ALERT_OPENunexpected alert open
27NO_ALERT_OPENno such alert
28SCRIPT_TIMEOUTscript timeout
29INVALID_ELEMENT_COORDINATESinvalid element coordinates
30IME_NOT_AVAILABLEime not available
31IME_ENGINE_ACTIVATION_FAILEDime engine activation failed
32INVALID_SELECTORinvalid selector
33SESSION_NOT_CREATEDsession not created
34MOVE_TARGET_OUT_OF_BOUNDSmove target out of bounds
51INVALID_XPATH_SELECTORinvalid selector
52INVALID_XPATH_SELECTOR_RETURN_TYPERinvalid selector
60ELEMENT_NOT_INTERACTABLEelement not interactable
/INSECURE_CERTIFICATEinsecure certificate
61INVALID_ARGUMENTinvalid argument
/INVALID_COORDINATESinvalid coordinates
/INVALID_SESSION_IDinvalid session id
62NO_SUCH_COOKIEno such cookie
63UNABLE_TO_CAPTURE_SCREENunable to capture screen
64ELEMENT_CLICK_INTERCEPTEDelement click intercepted
/UNKNOWN_METHODunknown method exception
405METHOD_NOT_ALLOWEDunsupported operation

『全栈测试技术,分享,共勉,共进,提升』


posted @   虫无涯  阅读(20)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示