[Web自动化] Selenium浏览器对象属性

8.6 Selenium浏览器对象属性

WebDriver对象是Selenium WebDriver提供的用于控制浏览器的核心类之一,它拥有许多常用的属性,这些属性使得开发者能够获取浏览器的状态、配置以及当前页面的信息。

以下是一些WebDriver对象常见的属性及其介绍:

  1. capabilities
    • 描述:返回当前会话的浏览器的配置信息。这些信息包括浏览器名称、版本、平台等。
    • 用途:用于获取当前浏览器会话的详细配置,有助于调试和日志记录。

{'acceptInsecureCerts': False,

'browserName': 'chrome',

'browserVersion': '122.0.6261.129',

'chrome': {'chromedriverVersion': '121.0.6167.184 '

'(057a8ae7deb3374d0f1b04b36304d236f0136188-refs/branch-heads/6167@{#1818})',

'userDataDir': 'C:\Windows\SystemTemp\scoped_dir18440_1152404815'},

'fedcm:accounts': True,

'goog:chromeOptions': {'debuggerAddress': 'localhost:12627'},

'networkConnectionEnabled': False,

'pageLoadStrategy': 'normal',

'platformName': 'windows',

'proxy': {},

'setWindowRect': True,

'strictFileInteractability': False,

'timeouts': {'implicit': 0, 'pageLoad': 300000, 'script': 30000},

'unhandledPromptBehavior': 'dismiss and notify',

'webauthn:extension:credBlob': True,

'webauthn:extension:largeBlob': True,

'webauthn:extension:minPinLength': True,

'webauthn:extension:prf': True,

'webauthn:virtualAuthenticators': True}

  1. desired_capabilities
    • 描述:返回用于启动浏览器的配置信息。在启动浏览器时,这些配置被指定给浏览器驱动。
    • 用途:主要用于启动浏览器之前设置期望的浏览器配置,如浏览器版本、平台等。

{'acceptInsecureCerts': False,

'browserName': 'chrome',

'browserVersion': '122.0.6261.129',

'chrome': {'chromedriverVersion': '121.0.6167.184 '

'(057a8ae7deb3374d0f1b04b36304d236f0136188-refs/branch-heads/6167@{#1818})',

'userDataDir': 'C:\Windows\SystemTemp\scoped_dir18440_1152404815'},

'fedcm:accounts': True,

'goog:chromeOptions': {'debuggerAddress': 'localhost:12627'},

'networkConnectionEnabled': False,

'pageLoadStrategy': 'normal',

'platformName': 'windows',

'proxy': {},

'setWindowRect': True,

'strictFileInteractability': False,

'timeouts': {'implicit': 0, 'pageLoad': 300000, 'script': 30000},

'unhandledPromptBehavior': 'dismiss and notify',

'webauthn:extension:credBlob': True,

'webauthn:extension:largeBlob': True,

'webauthn:extension:minPinLength': True,

'webauthn:extension:prf': True,

'webauthn:virtualAuthenticators': True}

  1. Session_id
    • 描述:返回当前会话的唯一标识符。每个浏览器实例在启动后都会获得一个唯一的会话ID。
    • 用途:用于区分和管理不同的浏览器会话,特别是在进行并行测试时。

'831db58fa7afa25560d54c91a8eb7934'

  1. name
    • 注意:虽然name属性在某些Selenium版本或特定上下文中可能不直接作为WebDriver对象的属性存在,但可以通过其他方式(如通过浏览器驱动实例的属性)获取浏览器名称。
    • 描述:理论上,如果name属性存在,它将返回浏览器的名称,如chromefirefox等。
    • 用途:主要用于日志记录、测试报告等,以明确说明使用的是哪种浏览器。

'chrome'

  1. title
    • 描述:返回当前页面的标题。
    • 用途:常用于断言当前页面的标题是否符合预期,以验证页面是否正确加载。

'百度一下,你就知道'

  1. current_url
    • 描述:返回当前页面的URL。
    • 用途:用于检查浏览器是否已导航到正确的页面。

'https://www.baidu.com/'

  1. page_source
    • 描述:返回当前页面的HTML源代码。
    • 用途:可用于分析页面内容、提取数据或进行页面内容的断言。比如:使用encoding指定编码格式进行编码。结合BeautifulSoup进行页面分析等。

('<meta http-equiv="Content-Type" '

'content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" '

'content="IE=edge,chrome=1"><meta '

'name="theme-color" content="#ffffff"><meta name="description" '

'content="全球领先的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。"><link '

...

  1. current_window_handle
    • 描述:返回当前窗口的句柄。浏览器中的每个窗口都有一个唯一的句柄。
    • 用途:用于在多个窗口间进行切换。

'176F2F786FAEC13A50E8DF69C3D0DCE5'

  1. window_handles
    • 描述:返回所有窗口的句柄列表。
    • 用途:当浏览器打开多个窗口时,可以使用此列表来遍历并切换到不同的窗口。

'176F2F786FAEC13A50E8DF69C3D0DCE5'

  1. 其他
    • 除了上述常见属性外,WebDriver对象还可能包含其他与浏览器或会话状态相关的属性,具体取决于Selenium的版本和浏览器驱动的实现。

需要注意的是,Selenium库和浏览器驱动在不断发展,新的属性和方法可能会被引入,而旧的属性和方法可能会被淘汰。因此,建议查阅最新的Selenium文档和浏览器驱动文档以获取最准确的信息。

相关推荐
qq_4176950539 分钟前
机器学习与人工智能
jvm·数据库·python
漫随流水41 分钟前
旅游推荐系统(view.py)
前端·数据库·python·旅游
yy我不解释2 小时前
关于comfyui的mmaudio音频生成插件时时间不一致问题(一)
python·ai作画·音视频·comfyui
踩着两条虫2 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
紫丁香3 小时前
AutoGen详解一
后端·python·flask
FreakStudio3 小时前
不用费劲编译ulab了!纯Mpy矩阵micronumpy库,单片机直接跑
python·嵌入式·边缘计算·电子diy
jzlhll1233 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
蓝冰凌4 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
奔跑的呱呱牛4 小时前
generate-route-vue基于文件系统的 Vue Router 动态路由生成工具
前端·javascript·vue.js