aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2021-01-20 00:51:44 +0100
committerTeddy Wing2021-01-20 00:51:44 +0100
commit1c06d6f0fe55768a76ce1359262dd4d245798328 (patch)
tree30b1fca76c32d500c9689add7d12497e1a016512
parent555d726a59ddf6206e650b226b88f397f5f9f00a (diff)
downloadextreload-1c06d6f0fe55768a76ce1359262dd4d245798328.tar.bz2
extreload: Try parsing `GetTargets` response
Tried to parse the response from the `GetTargets` message, but ended up with this error: thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("unknown variant `iframe`, expected one of `page`, `background_page`, `service_worker`, `browser`, `other`", line: 0, column: 0)', /Users/tw/.cargo/registry/src/github.com-1ecc6299db9ec823/headless_chrome-0.9.0/src/protocol/mod.rs:90:70 Looks like the `headless_chrome` library doesn't include "iframe" as a `TargetType`: https://docs.rs/headless_chrome/0.9.0/headless_chrome/protocol/target/enum.TargetType.html Will have to modify the library, use a different library, or write my own types to serialize & deserialize.
-rw-r--r--extreload/src/main.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/extreload/src/main.rs b/extreload/src/main.rs
index 73b26e5..d37acd8 100644
--- a/extreload/src/main.rs
+++ b/extreload/src/main.rs
@@ -1,5 +1,5 @@
use headless_chrome;
-use headless_chrome::protocol::Method;
+use headless_chrome::protocol::{Method, parse_raw_message, parse_response};
use serde_json;
use tungstenite::{connect, Message};
use url::Url;
@@ -18,5 +18,15 @@ fn main() {
loop {
let msg = socket.read_message().expect("Error reading message");
println!("Received: {}", msg);
+
+ match parse_raw_message(&msg.into_text().unwrap()).unwrap() {
+ headless_chrome::protocol::Message::Event(_event) => (),
+ headless_chrome::protocol::Message::Response(response) => {
+ let message: headless_chrome::protocol::target::methods::GetTargetsReturnObject = parse_response(response).unwrap();
+
+ dbg!(message);
+ },
+ headless_chrome::protocol::Message::ConnectionShutdown => (),
+ };
}
}