OpenQA.Selenium.Edge.EdgeOptions] 不包含名为 “AddArgument” 的方法
这个错是啥问题
怎么解决这种问题?(标签-Selenium)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
檀越@新空间 2025-10-13 11:34关注上午好☀️☀️☀️️
本答案参考通义千问你遇到的错误信息是:
OpenQA.Selenium.Edge.EdgeOptions] 不包含名为 “AddArgument” 的方法
这个错误通常发生在使用 Selenium WebDriver 时,特别是在尝试为 Microsoft Edge 浏览器 设置选项时。具体来说,是调用了
EdgeOptions类中的一个不存在的方法AddArgument。
✅ 问题原因分析
在 Selenium 4 及以上版本中,
AddArgument方法已经被弃用,取而代之的是AddArgument和AddArguments的新方式。❌ 错误写法(旧版):
var options = new EdgeOptions(); options.AddArgument("--headless");✅ 正确写法(新版):
var options = new EdgeOptions(); options.AddArgument("--headless"); // 这个方法其实还是存在的,但需要确认是否正确引用了库或者更推荐的方式:
var options = new EdgeOptions(); options.AddArguments("--headless", "--disable-gpu");
🛠 解决方案
以下是解决该问题的详细步骤:
-
检查 Selenium 版本
- 如果你使用的是 Selenium 4 或更高版本,请确保你使用的是正确的 API。
- 如果你使用的是 Selenium 3 或更低版本,可能需要升级到 Selenium 4 或更新相关依赖。
-
确认你是否正确引用了
OpenQA.Selenium命名空间- 确保你的代码中包含了:
using OpenQA.Selenium; using OpenQA.Selenium.Edge;
- 确保你的代码中包含了:
-
使用
AddArguments方法代替AddArgumentAddArgument是单个参数,AddArguments可以传入多个参数。- 示例:
var options = new EdgeOptions(); options.AddArguments("--headless", "--disable-gpu");
-
确保 EdgeDriver 与浏览器版本兼容
- 下载并安装与当前 Edge 浏览器版本匹配的 EdgeDriver
- 检查你的项目中是否引用了正确的 EdgeDriver DLL。
-
更新 NuGet 包
- 在 Visual Studio 中右键点击项目 → 管理 NuGet 程序包
- 更新以下包:
Selenium.WebDriverSelenium.WebDriver.MicrosoftEdgeSelenium.Support
🧾 示例代码(修正后)
using OpenQA.Selenium; using OpenQA.Selenium.Edge; class Program { static void Main(string[] args) { var options = new EdgeOptions(); options.AddArguments("--headless", "--disable-gpu"); // 使用 AddArguments 添加多个参数 IWebDriver driver = new EdgeDriver(options); driver.Navigate().GoToUrl("https://www.example.com"); Console.WriteLine(driver.Title); driver.Quit(); } }
🔍 其他常见问题排查
-
确保 EdgeDriver 路径正确:如果 EdgeDriver 没有放在系统 PATH 中,可以手动指定路径:
var options = new EdgeOptions(); options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"; -
检查浏览器版本是否与 EdgeDriver 兼容:
- 打开 Edge 浏览器 →
edge://settings/help查看版本号 - 访问 EdgeDriver 下载页面 获取对应版本
- 打开 Edge 浏览器 →
📌 总结
| 问题 | 解决方案 | |------|----------| |
AddArgument方法不存在 | 使用AddArguments替代,并确保使用最新 Selenium 版本 | | EdgeDriver 不兼容 | 下载与 Edge 浏览器版本匹配的 EdgeDriver | | 引用错误 | 确保正确引用OpenQA.Selenium和Selenium.WebDriver.MicrosoftEdge|如果你能提供你使用的 Selenium 版本、C# 项目类型和完整错误日志,我可以进一步帮助你定位问题。
解决 无用评论 打赏 举报-