我想在不打开任何窗口的情况下使用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?
2条答案
按热度按时间sdnqo3pr1#
您可以使用最近发布的新无头模式。只需尝试:
--headless=new
。有关更多信息,请参阅https://developer.chrome.com/articles/new-headless/。a0zr77ik2#
我通过将crate从1.0.5更新到2023年10月23日发布的1.0.6解决了这个问题。
感谢您的帮助和建议。我会将此问题标记为已解决。
似乎在1.0.6的更新中有a change,它可以防止启动浏览器时出现弹出屏幕。