隐藏/静音 ChromeDriver 窗口

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

当我启动 Selenium 的 WebDriver (Chromedriver) 时。控制台窗口 (chromedriver.exe) 运行并打开 Chrome。我需要知道如何隐藏它们(例如静音模式),因为当打开的太多时我会变得混乱。我正在使用 C#。

c# selenium-webdriver selenium-chromedriver
4个回答
46
投票

从 Chrome 59 开始,您现在还可以使用无头模式隐藏 Chrome 浏览器窗口:

options.AddArgument("headless");

并结合:

ChromeDriverService service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;

它运行时完全安静。


26
投票

据我所知,隐藏浏览器是不可能的。 但是,您可以隐藏控制台并将浏览器设置为离屏:

ChromeDriverService service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;

var options = new ChromeOptions();
options.AddArgument("--window-position=-32000,-32000");

var driver = new ChromeDriver(service, options);
driver.Navigate().GoToUrl("https://www.google.co.uk");

0
投票

你好 chrome 驱动程序命令隐藏编码

public IWebDriver drv;
public AnaSayfa()
{
    CheckForIllegalCrossThreadCalls = false;
    ChromeDriverService service = ChromeDriverService.CreateDefaultService();
    service.HideCommandPromptWindow = true;
    drv = new ChromeDriver(service);
    InitializeComponent();
}
void BekraHayrNesterGo()
{
    drv.Navigate().GoToUrl("https://www.example.com/");
}

这个形状可以隐藏cmd


0
投票

另一个技巧是使代理可执行并打开隐藏进程。

chromedriver.exe 重命名为 driver.exe

从下面的代码中

将可执行文件构建为chromedriver.exe。必须使用

Application Type
作为
Windows Forms Application

'chromedriver.exe
Module Main
    Sub Main(Args As String())
        Dim Info As New ProcessStartInfo("driver.exe", String.Join(" ", Args))
        Info.WindowStyle = ProcessWindowStyle.Hidden
        Process.Start(Info).WaitForExit()
    End Sub
End Module

并使用类似

Dim Options As New ChromeOptions()
Options.BinaryLocation = "C:\Program Files\Slimjet\slimjet.exe"
Dim Driver = New ChromeDriver(Environment.CurrentDirectory, Options)
Driver.Navigate().GoToUrl("https://www.example.com") '

注意:假设两个可执行文件位于同一目录中。

© www.soinside.com 2019 - 2024. All rights reserved.