pub struct BrowserBuilder { /* private fields */ }Expand description
Builder for launching a browser.
Implementations§
Source§impl BrowserBuilder
impl BrowserBuilder
Sourcepub fn executable_path(self, path: impl Into<PathBuf>) -> Self
pub fn executable_path(self, path: impl Into<PathBuf>) -> Self
Set the path to the Chromium executable.
If not set, the launcher will search common paths and
check the CHROMIUM_PATH environment variable.
Sourcepub fn headless(self, headless: bool) -> Self
pub fn headless(self, headless: bool) -> Self
Set whether to run in headless mode.
Default is true.
Examples found in repository?
examples/basic_navigation.rs (line 24)
19async fn main() -> Result<(), Box<dyn std::error::Error>> {
20 println!("Launching browser...");
21
22 // Launch a headless browser
23 let browser = Browser::launch()
24 .headless(true)
25 .timeout(Duration::from_secs(30))
26 .launch()
27 .await?;
28
29 println!("Browser launched successfully!");
30
31 // Create a new browser context (isolated environment)
32 let context = browser.new_context().await?;
33 println!("Created browser context: {}", context.id());
34
35 // Create a new page
36 let page = context.new_page().await?;
37 println!("Created page with target: {}", page.target_id());
38
39 // Navigate to a URL with default wait (Load event)
40 println!("\nNavigating to example.com...");
41 let response = page.goto("https://example.com").goto().await?;
42 println!("Navigation complete! URL: {}", response.url());
43
44 // Navigate with DomContentLoaded wait (faster)
45 println!("\nNavigating to httpbin.org with DomContentLoaded wait...");
46 let response = page
47 .goto("https://httpbin.org/html")
48 .wait_until(DocumentLoadState::DomContentLoaded)
49 .timeout(Duration::from_secs(15))
50 .goto()
51 .await?;
52 println!("Navigation complete! URL: {}", response.url());
53
54 // Navigate with custom referer
55 println!("\nNavigating with custom referer...");
56 let response = page
57 .goto("https://httpbin.org/headers")
58 .referer("https://google.com")
59 .wait_until(DocumentLoadState::Load)
60 .goto()
61 .await?;
62 println!("Navigation complete! URL: {}", response.url());
63
64 // Close the browser
65 println!("\nClosing browser...");
66 browser.close().await?;
67 println!("Done!");
68
69 Ok(())
70}Sourcepub fn timeout(self, timeout: Duration) -> Self
pub fn timeout(self, timeout: Duration) -> Self
Set the launch timeout.
Default is 30 seconds.
Examples found in repository?
examples/basic_navigation.rs (line 25)
19async fn main() -> Result<(), Box<dyn std::error::Error>> {
20 println!("Launching browser...");
21
22 // Launch a headless browser
23 let browser = Browser::launch()
24 .headless(true)
25 .timeout(Duration::from_secs(30))
26 .launch()
27 .await?;
28
29 println!("Browser launched successfully!");
30
31 // Create a new browser context (isolated environment)
32 let context = browser.new_context().await?;
33 println!("Created browser context: {}", context.id());
34
35 // Create a new page
36 let page = context.new_page().await?;
37 println!("Created page with target: {}", page.target_id());
38
39 // Navigate to a URL with default wait (Load event)
40 println!("\nNavigating to example.com...");
41 let response = page.goto("https://example.com").goto().await?;
42 println!("Navigation complete! URL: {}", response.url());
43
44 // Navigate with DomContentLoaded wait (faster)
45 println!("\nNavigating to httpbin.org with DomContentLoaded wait...");
46 let response = page
47 .goto("https://httpbin.org/html")
48 .wait_until(DocumentLoadState::DomContentLoaded)
49 .timeout(Duration::from_secs(15))
50 .goto()
51 .await?;
52 println!("Navigation complete! URL: {}", response.url());
53
54 // Navigate with custom referer
55 println!("\nNavigating with custom referer...");
56 let response = page
57 .goto("https://httpbin.org/headers")
58 .referer("https://google.com")
59 .wait_until(DocumentLoadState::Load)
60 .goto()
61 .await?;
62 println!("Navigation complete! URL: {}", response.url());
63
64 // Close the browser
65 println!("\nClosing browser...");
66 browser.close().await?;
67 println!("Done!");
68
69 Ok(())
70}Sourcepub async fn launch(self) -> Result<Browser, BrowserError>
pub async fn launch(self) -> Result<Browser, BrowserError>
Launch the browser.
§Errors
Returns an error if:
- Chromium is not found
- The process fails to spawn
- The browser doesn’t start within the timeout
Examples found in repository?
examples/basic_navigation.rs (line 26)
19async fn main() -> Result<(), Box<dyn std::error::Error>> {
20 println!("Launching browser...");
21
22 // Launch a headless browser
23 let browser = Browser::launch()
24 .headless(true)
25 .timeout(Duration::from_secs(30))
26 .launch()
27 .await?;
28
29 println!("Browser launched successfully!");
30
31 // Create a new browser context (isolated environment)
32 let context = browser.new_context().await?;
33 println!("Created browser context: {}", context.id());
34
35 // Create a new page
36 let page = context.new_page().await?;
37 println!("Created page with target: {}", page.target_id());
38
39 // Navigate to a URL with default wait (Load event)
40 println!("\nNavigating to example.com...");
41 let response = page.goto("https://example.com").goto().await?;
42 println!("Navigation complete! URL: {}", response.url());
43
44 // Navigate with DomContentLoaded wait (faster)
45 println!("\nNavigating to httpbin.org with DomContentLoaded wait...");
46 let response = page
47 .goto("https://httpbin.org/html")
48 .wait_until(DocumentLoadState::DomContentLoaded)
49 .timeout(Duration::from_secs(15))
50 .goto()
51 .await?;
52 println!("Navigation complete! URL: {}", response.url());
53
54 // Navigate with custom referer
55 println!("\nNavigating with custom referer...");
56 let response = page
57 .goto("https://httpbin.org/headers")
58 .referer("https://google.com")
59 .wait_until(DocumentLoadState::Load)
60 .goto()
61 .await?;
62 println!("Navigation complete! URL: {}", response.url());
63
64 // Close the browser
65 println!("\nClosing browser...");
66 browser.close().await?;
67 println!("Done!");
68
69 Ok(())
70}Trait Implementations§
Source§impl Clone for BrowserBuilder
impl Clone for BrowserBuilder
Source§fn clone(&self) -> BrowserBuilder
fn clone(&self) -> BrowserBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BrowserBuilder
impl Debug for BrowserBuilder
Auto Trait Implementations§
impl Freeze for BrowserBuilder
impl RefUnwindSafe for BrowserBuilder
impl Send for BrowserBuilder
impl Sync for BrowserBuilder
impl Unpin for BrowserBuilder
impl UnwindSafe for BrowserBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more