我正在使用 Selenium.Webdriver 打开一个 Edge 窗口导航到给定的 URL,代码是用 C# Windows 应用程序编写的,我想隐藏每次程序都会弹出的黑色控制台窗口。 我是一名初学者,无法找到解决方案,因为为 chrome 提供了许多解决方案,我为 Edge 找到的单个解决方案低于对我不起作用的代码(我不知道问题是否是由于过时的版本或参考问题所致),请告诉我可能做错了什么可能是解决方案:
var chromeDriverService = EdgeDriverService.CreateChromiumService();
chromeDriverService.HideCommandPromptWindow = true;
var options = new EdgeOptions();
options.UseChromium = true;
edgeDriver = new EdgeDriver(chromeDriverService, options);
edgeDriver.Navigate().GoToUrl(@Config.SpcUrl);
我的程序目前如下:
namespace Testprogram
{
public class Entrypoint
{
static void Main(string[] args)
{
string CustomURL = "URL";
var driverservice = EdgeDriverService.CreateChromiumService(); //Edgedriver does not contain a definition for CreateChromiumService error
driverservice.HideCommandPromptWindow = true;
EdgeOptions options = new EdgeOptions();
options.AddArgument("--start-maximized");
options.UseChromium = true; // EdgeOptions does not contain a definition for UseChromium and no accessible extension method UseChromium error
IWebDriver Idriver = new EdgeDriver(driverservice,options);
Idriver.Navigate().GoToUrl(CustomURL);
//Other commands will go here
Thread.Sleep(5000);
Idriver.Quit();
}
}
}
通过多次试验,所使用的参考文献相加:
using System;
using System.Net;
using System.Diagnostics;
using System.Net.NetworkInformation;
using System.Runtime.Versioning;
using System.Threading;
using OpenQA.Selenium;
using OpenQA.Selenium.Edge;
using OpenQA.Selenium.Chromium;
using OpenQA.Selenium.DevTools;
using OpenQA.Selenium.IE;
只需使用 CreateDefaultService(driverpath 定义服务,并设置
HideCommandPromptWindow
属性。一些代码如下:
using OpenQA.Selenium;
using OpenQA.Selenium.Edge;
string driverpath = @"E:\EdgeDriver\118.0.2088.69";
var service = EdgeDriverService.CreateDefaultService(driverpath);
service.HideCommandPromptWindow = true;
EdgeOptions options = new EdgeOptions();
options.AddArgument("--start-maximized");
WebDriver driver = new EdgeDriver(service, options);
driver.Url = "https://www.yoursite.com";
Try this below code logic
EdgeOptions options = new EdgeOptions();
options.addArguments("--start-maxmized");
Map<String, Object> prefs = new LinkedHashMap<>();
prefs.put("user_experience_metrics.personalization_data_consent_enabled",
Boolean.valueOf(true));
options.setExperimentalOption("prefs", prefs);
driver = new EdgeDriver(options);