如何在 Selenium Edge Webdriver 中禁用/隐藏命令提示符

问题描述 投票:0回答:2

我正在使用 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;

c# selenium-webdriver microsoft-edge
2个回答
0
投票

只需使用 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";

0
投票
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);
© www.soinside.com 2019 - 2024. All rights reserved.