当我使用rust-headless-Chrome在无头模式下启动微软Edge时,会出现一个未知窗口

ny6fqffe  于 2023-11-19  发布在  其他
关注(0)|答案(2)|浏览(177)

我想在不打开任何窗口的情况下使用rust-headless-chrome自动化微软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));
}

字符串
然后出现以下未知窗口:x1c 0d1x
我尝试添加以下参数,这些参数似乎有望改善问题,但结果没有改变。

  • 第一个月
  • --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 64-bit
  • Rust工具链:nightly-x86_64-pc-windows-gnu
  • rustc:1.75.0-每晚(1c 05 d50 c8 2023-10-21)
  • headless_Chrome(rust-headless-chrome):1.0.5
  • 微软Edge:118.0.2088.61(正式版本)(64位)

是否可以在不打开任何窗口的情况下自动运行rust-headless-chrome的Edge?

sdnqo3pr

sdnqo3pr1#

您可以使用最近发布的新无头模式。只需尝试:--headless=new。有关更多信息,请参阅https://developer.chrome.com/articles/new-headless/

a0zr77ik

a0zr77ik2#

我通过将crate从1.0.5更新到2023年10月23日发布的1.0.6解决了这个问题。
感谢您的帮助和建议。我会将此问题标记为已解决。
似乎在1.0.6的更新中有a change,它可以防止启动浏览器时出现弹出屏幕。

相关问题