[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属性存在,它将返回浏览器的名称,如chrome、firefox等。
    • 用途:主要用于日志记录、测试报告等,以明确说明使用的是哪种浏览器。

'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文档和浏览器驱动文档以获取最准确的信息。

相关推荐
liangshanbo12156 分钟前
面试题:React.memo 和 useMemo 的区别
前端·react.js·前端框架
苹果二8 分钟前
使用Vue的指南
前端·javascript·vue.js
幻影123!10 分钟前
AlphaZero 五子棋实战(番外二):白棋专项训练的一种方案
python·机器学习·强化学习·五子棋·alpha zero
头发够用的程序员15 分钟前
TensorRT 自定义算子插件实战(三):手搓 2×2 最大池化 customMaxpool
人工智能·pytorch·python·深度学习·神经网络·边缘计算·jetson
鬼手点金21 分钟前
opencode-crawl4ai使用建议
java·开发语言·人工智能·python·机器学习
海天一色y28 分钟前
深入理解对偶单纯形法:原理推导与 Python/MATLAB 编程实现
python·matlab·最优化算法·对偶单纯形法
害人终害己30 分钟前
‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
前端·javascript·vue.js
专业程序开发源35 分钟前
springboot校园志愿者管理系统28562-计算机课程设计、毕业设计
java·spring boot·后端·python·django·php·课程设计
被摘下的星星39 分钟前
CSS 基础说明
前端·css
计算机毕业编程指导师1 小时前
计算机毕设怎么做?Python+Hadoop的跨平台消费者评论情感分析与数据可视化系统实战 源码 毕业设计 选题推荐 毕设选题 数据分析
大数据·hadoop·python·计算机·spark·课程设计·消费者评论