首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Selenium在Edge中加载扩展?

如何使用Selenium在Edge中加载扩展?
EN

Stack Overflow用户
提问于 2020-10-12 12:59:46
回答 1查看 1.8K关注 0票数 0

我想在C#中使用Selenium时,在Edge中加载一个扩展。我认为我必须使用EdgeOptions.AddExtensionPath(),但是在传递路径时没有加载任何扩展。

该扩展是从%localappdata%\Microsoft\Edge\User Data\Default\Extensions中提取的。

下面是用于初始化EdgeDriver的代码的一部分:

代码语言:javascript
运行
复制
using OpenQA.Selenium.Edge;

public void InitializeNewDriver() {
    string microsoftWebDriverPath = @"some\path";

    EdgeDriverService service = EdgeDriverService.CreateDefaultService(microsoftWebDriverPath);

    EdgeOptions options = new EdgeOptions();
    options.AddExtensionPath(@"path\to\extension\folder");

    Driver = new EdgeDriver(service, options);
}

编辑:我使用的是Selenium.Webdriver v4.0.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-13 02:59:15

我试着测试这个问题,发现如果您将扩展的位置传递给options.AddExtensionPath(),那么扩展将不会加载。

我建议尝试使用options.AddExtensions()方法,并将扩展名的.CRX文件作为参数传递。

它可以帮助您成功地加载扩展。

C#代码示例:

代码语言:javascript
运行
复制
var options = new EdgeOptions();
options.UseChromium = true;
options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe";
options.AddExtensions(@"Path_of_the_extension_here\extension.crx");
var driver = new Microsoft.Edge.SeleniumTools.EdgeDriver(@"Web_driver_path_here......", options);
driver.Navigate().GoToUrl("https://Your_URL_will_be_here...");

输出:

此外,您还可以根据自己的需求修改代码示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64318418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档