You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用RobotFramework无法安装Edge驱动 能否按参数版本自动安装?

解决方案:Robot Framework运行时自动下载匹配版本Edge驱动

适配版本说明

你当前使用的Selenium 3.14、Robot Framework Selenium Library 4.5.0、Python 3.7技术栈,可通过webdriver-manager指定兼容版本实现驱动自动下载,支持传入版本参数固定驱动版本。

第一步:安装兼容依赖

必须安装适配旧技术栈的webdriver-manager版本,高版本不再支持Python 3.7和Selenium 3:

pip install webdriver-manager==3.8.6

第二步:编写自定义RF关键字

新建CustomEdgeKeywords.py文件,实现支持传入版本参数的驱动自动下载逻辑:

from webdriver_manager.microsoft import EdgeChromiumDriverManager
from robot.api.deco import keyword
from selenium import webdriver
from SeleniumLibrary import SeleniumLibrary

@keyword("Open Browser With Auto Edge Driver")
def open_browser_with_auto_edge_driver(test_url, edge_version=None):
    # 传入版本参数则下载指定版本驱动,否则自动匹配本地Edge浏览器版本
    if edge_version:
        driver_path = EdgeChromiumDriverManager(version=edge_version).install()
    else:
        driver_path = EdgeChromiumDriverManager().install()
    # 适配Selenium 3的驱动启动写法
    edge_driver = webdriver.Edge(executable_path=driver_path)
    edge_driver.get(test_url)
    # 将驱动实例注册到SeleniumLibrary,兼容原生关键字调用
    sl_instance = SeleniumLibrary().get_instance()
    sl_instance._drivers.register(edge_driver, alias=None)
    return edge_driver

第三步:Robot Framework脚本调用示例

*** Settings ***
Library    SeleniumLibrary
Library    CustomEdgeKeywords.py

*** Test Cases ***
指定版本Edge驱动启动测试
    Open Browser With Auto Edge Driver    https://www.baidu.com    edge_version=116.0.1938.69
    Title Should Be    百度一下,你就知道
    Close Browser

自动匹配本地Edge版本驱动启动测试
    Open Browser With Auto Edge Driver    https://www.baidu.com
    Title Should Be    百度一下,你就知道
    Close Browser

注意事项

  • 驱动默认会缓存到本地,重复调用相同版本不会重复下载
  • Selenium 3.14仅支持79版本以上的Chromium内核Edge驱动,旧版EdgeHTML内核浏览器无法适配
  • 离线环境可提前将对应版本驱动放到webdriver-manager默认缓存目录,运行时直接读取不会触发网络请求

内容的提问来源于stack exchange,提问作者Neethy Nair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:45:06