Skip to content

CDP chromiumoxide #474

@hoagy-davis-digges

Description

@hoagy-davis-digges

I'm trying to connect in rust, but it says session already loaded when I try to connect, here's my code, it runs successfully against a chromium instance

use chromiumoxide::cdp::browser_protocol::target::{CreateBrowserContextParams, CreateTargetParams};
use futures::StreamExt;
use chromiumoxide::browser::{Browser, BrowserConfig};
use std::time::Duration;
use std::path::PathBuf;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {


    let (mut browser, mut handler) = Browser::connect("ws://127.0.0.1:9222").await?;
    

    let handle = tokio::task::spawn(async move {
        while let Some(h) = handler.next().await {
            if h.is_err() {
                break;
            }
        }
    });
    

    let context_params = CreateBrowserContextParams::default();
    let browser_context = browser.create_browser_context(context_params).await?;

    let params = CreateTargetParams::builder()
        .url("https://example.com")
        .browser_context_id(browser_context.clone())
        .build()
        .unwrap();

    let page = browser.new_page(params).await?;
    Ok(())
}

And here are the logs from socat:

> 2025/03/16 16:37:35.000015317  length=153 from=0 to=152
GET / HTTP/1.1\r
Host: 127.0.0.1:9230\r
Connection: Upgrade\r
Upgrade: websocket\r
Sec-WebSocket-Version: 13\r
Sec-WebSocket-Key: 4rmSZh5JO28z/xRDKgjw3A==\r
\r
< 2025/03/16 16:37:35.000015887  length=129 from=0 to=128
HTTP/1.1 101 Switching Protocols\r
Upgrade: websocket\r
Connection: upgrade\r
Sec-Websocket-Accept: Sb87/z5/aY0X1jOe8l3dtRTx9PQ=\r
\r
> 2025/03/16 16:37:35.000017586  length=78 from=153 to=230
...0.......
...]..._.......W...C...Y...F...Q...D.......Q...
...Y...F...
...U..< 2025/03/16 16:37:35.000018049  length=22 from=129 to=150
..{"id":0,"result":{}}> 2025/03/16 16:37:35.000018182  length=65 from=231 to=295
..tk./.I.KVQ..V..[...\rNI.N.\f.[Z\b.J...m...\\[email protected].\r.
.N.......< 2025/03/16 16:37:35.000023088  length=48 from=151 to=198
..{"id":1,"result":{"browserContextId":"BID-1"}}> 2025/03/16 16:37:35.000024105  length=111 from=296 to=406
..t\\Kq.~".Vfy]V1...3/SN~...;..Z?9..(.%..,..~gS.=9../iK.~)..+8...$..93.=8iKV..5Ymi]V)9.Vfi..(;.Nsd.\f=&..9e..1i\f       < 2025/03/16 16:37:35.000030641  length=206 from=199 to=404
.~..{"method":"Target.targetCreated","params":{"targetInfo":{"url":"about:blank","title":"about:blank","targetId":"TID-1","attached":false,"type":"page","canAccessOpener":false,"browserContextId":"BID-1"}}}< 2025/03/16 16:37:35.000031132  length=300 from=405 to=704
.~..{"method":"Target.attachedToTarget","params":{"sessionId":"SID-1","targetInfo":{"url":"chrome://newtab/","title":"about:blank","targetId":"TID-1","attached":true,"type":"page","canAccessOpener":false,"browserContextId":"BID-1"},"waitingForDebugger":false}}.&{"id":2,"result":{"targetId":"TID-1"}}> 2025/03/16 16:37:35.000031692  length=92 from=407 to=498
...{.,.Y.H.A.....X.....Y.M...X...X...x./.^.....Y.M..._.A.....X.......Y.W.X.     .I.2...Y.e.V....> 2025/03/16 16:37:35.000031926  length=69 from=499 to=567
....\v...b...?...n...o...[...%...i...'...x...e...1...O...'...y...)...v< 2025/03/16 16:37:35.000032098  length=57 from=705 to=761
.7{"id":3,"code":-31998,"message":"SessionAlreadyLoaded"}2025/03/16 16:37:35 socat[1302375] E read(5, 0x64ce2703f000, 8192): Connection reset by peer

Metadata

Metadata

Assignees

Labels

CDPChrome Debug ProtocolbugSomething isn't workingchromiumoxide

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions