edgewebdriver 解析

一、edgewebdriver 是什么

edgewebdriver 是微软官方为了支持 Selenium WebDriver 的 Edge 浏览器驱动程序,本质上就是 Edge 的一个自动化测试工具。

使用 edgewebdriver 可以实现在 Edge 浏览器上进行自动化测试,并通过 Python、Java、C# 等编程语言来控制动作。

二、如何使用 edgewebdriver

在线安装 edgewebdriver:可以通过 NuGet、conda、Pip 等包管理程序在线安装,如下:

    pip install msedge-selenium-tools

或者直接从官方下载 edgewebdriver 手动进行安装:

1、前往 http://go.microsoft.com/fwlink/?linkid=2108834 下载最新版本的 Edge WebDriver。

2、解压缩文件,将 MicrosoftWebDriver.exe 文件添加至系统 Path 环境变量中。

当然,还可以通过下面的代码实现自动安装:

    import os
    os.environ["PATH"] += os.pathsep + r" C:\path\to\edgewebdriver"
    from msedge.selenium_tools import Edge, EdgeOptions

三、edgewebdriver 的基本用法

1、打开一个网页,并进行元素定位:

    from msedge.selenium_tools import Edge, EdgeOptions
    options = EdgeOptions()
    options.use_chromium = True
    driver = Edge(options=options)
    driver.get("https://www.example.com")
    elem = driver.find_element_by_name("q")
    elem.send_keys("selenium edge driver")
    elem.submit()
    driver.quit()

2、定位多个元素:

    elems = driver.find_elements_by_class_name("selenium")

3、模拟鼠标操作:

    from selenium.webdriver.common.action_chains import ActionChains
    action = ActionChains(driver)
    elem = driver.find_element_by_id("element_id")
    action.move_to_element(elem).click().perform()

4、使用 cookies:

    driver.get("https://www.example.com")
    cookie = {"name": "foo", "value": "bar"}
    driver.add_cookie(cookie)

四、edgewebdriver 的优缺点

1、优点:

edgewebdriver 是官方维护的 Edge 浏览器驱动程序,具有良好的稳定性和兼容性。

2、缺点:

开发速度相对缓慢,目前支持的版本较少(Chromium 版本 78)。

在使用 edgewebdriver 进行多个窗口或标签页操作时,会有偶尔出现崩溃退出的情况,需要手动关闭和重新启动 Edge 浏览器应用。

五、edgewebdriver 的未来发展

1、微软官方已经停用了原有的 EdgeHTML 版本的 Edge 浏览器,转而使用 Chromium 作为 Edge 浏览器的内核。因此,在未来的版本中,edgewebdriver 将会依托于 Chromium 内核,提供更完整更便捷的接口和功能实现。

2、微软官方已经推出了 Edge WebDriver Insider Preview 版本,提供更新速度更快、体验更为稳定的 edgewebdriver 驱动程序。

3、随着微软在混合现实、人工智能等领域的发展,edgewebdriver 将为开发者和研究者提供更多的可用性和价值。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/232444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-11 12:52
下一篇 2024-12-11 12:52

发表回复

登录后才能评论