diamond-in's picture
Update src/browser/controller.rs
f96374a verified
raw
history blame contribute delete
790 Bytes
use chromiumoxide::browser::{Browser, BrowserConfig};
use chromiumoxide::page::Page;
use futures_util::StreamExt;
pub async fn init_browser() -> (Browser, Page) {
let (browser, mut handler) = Browser::launch(
BrowserConfig::builder()
.arg("--no-sandbox")
.arg("--disable-setuid-sandbox")
.arg("--headless")
.build()
.unwrap(),
)
.await
.unwrap();
// Critical: Keep the browser handler running in the background
tokio::spawn(async move {
while let Some(h) = handler.next().await {
if let Err(e) = h {
eprintln!("Browser handler error: {}", e);
}
}
});
let page = browser.new_page("about:blank").await.unwrap();
(browser, page)
}