当我使用 rust-headless-chrome 以无头模式启动 Microsoft Edge 时,会出现一个未知窗口

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

我想使用 rust-headless-chrome 自动化 Microsoft Edge,而无需打开任何窗口。

我使用以下 Rust 代码以无头模式启动 Edge:

use headless_chrome::browser::{Browser, LaunchOptions};
use std::ffi::OsStr;
use std::path::PathBuf;
use std::{thread, time::Duration};

fn main() {
    let _browser = Browser::new(LaunchOptions {
        headless: true,
        path: Some(PathBuf::from(r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe")),
        args: vec![OsStr::new("--profile-directory=Default")],
        ..Default::default()
    }).unwrap();
    thread::sleep(Duration::from_secs(5));
}

然后出现如下未知窗口:

我尝试添加以下参数,这似乎有望改善问题,但结果并没有改变。

  • --headless
  • --silent-launch
  • --disable-logging
fn main() {
    let _browser = Browser::new(LaunchOptions {
        headless: true,
        path: Some(PathBuf::from(r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe")),
        args: vec![
            OsStr::new("--profile-directory=Default"),
            OsStr::new("--headless"),
            OsStr::new("--silent-launch"),
            OsStr::new("--disable-logging")],
        ..Default::default()
    }).unwrap();
    thread::sleep(Duration::from_secs(5));
}

我的环境如下:

  • 操作系统:Windows 10 Pro 22H2 64位
  • Rust 工具链:nightly-x86_64-pc-windows-gnu
  • rustc:1.75.0-每晚(1c05d50c8 2023-10-21)
  • 无头铬(
    rust-headless-chrome
    ):1.0.5
  • Microsoft Edge:118.0.2088.61(官方版本)(64 位)

是否可以在不打开任何窗口的情况下自动使用

rust-headless-chrome
运行 Edge?

rust puppeteer microsoft-edge google-chrome-headless
2个回答
0
投票

您可以使用最近发布的新无头模式。尝试一下:

--headless=new
。欲了解更多信息,您可以参考https://developer.chrome.com/articles/new-headless/


0
投票

我通过将 2023 年 10 月 23 日发布的 crate 从 1.0.5 更新到 1.0.6 解决了这个问题。

感谢您的帮助和建议。 我会将这个问题标记为已解决。

以下是

rust-headless-chrome
1.0.6 版本中的更改,可能与我的问题有关: 通过#398中的@Diggsey

抑制窗口上的控制台弹出窗口
© www.soinside.com 2019 - 2024. All rights reserved.