MCPcopy Create free account
hub / github.com/aeroxy/chrome-devtools-cli / resolve_page

Method resolve_page

src/cdp.rs:835–860  ·  view source on GitHub ↗

Resolve which page to operate on. Priority: --target (by ID or friendly name) > --page (by index) > first page.

(
        &mut self,
        target: Option<&str>,
        page: Option<usize>,
    )

Source from the content-addressed store, hash-verified

833 /// Resolve which page to operate on.
834 /// Priority: --target (by ID or friendly name) > --page (by index) > first page.
835 pub async fn resolve_page(
836 &mut self,
837 target: Option<&str>,
838 page: Option<usize>,
839 ) -> Result<TargetInfo> {
840 let pages = self.get_page_targets().await?;
841
842 if let Some(tid) = target {
843 if friendly::is_friendly(tid) {
844 return pages
845 .into_iter()
846 .find(|p| friendly::to_friendly(&p.target_id) == tid)
847 .ok_or_else(|| anyhow!("No page matching '{tid}'"));
848 }
849 return pages
850 .into_iter()
851 .find(|p| p.target_id == tid)
852 .ok_or_else(|| anyhow!("No page with target ID: {tid}"));
853 }
854
855 let idx = page.unwrap_or(0);
856 pages
857 .into_iter()
858 .nth(idx)
859 .ok_or_else(|| anyhow!("No page at index {idx}"))
860 }
861}
862
863/// Helper to join console API arguments into a single string.

Callers 2

run_directFunction · 0.80
execute_commandFunction · 0.80

Calls 3

is_friendlyFunction · 0.85
to_friendlyFunction · 0.85
get_page_targetsMethod · 0.80

Tested by

no test coverage detected