Comments (4)
Hmm, couldn't reproduce this with Chromium 88.0.4320.0 : https://streamable.com/a4x350.
I'm not sure what changed with 89.0.4389.90
from chromiumoxide.
I want to further find out the reasons, would you mind telling me how to communicate with chrome?Why didn't you original choosed webriver?
i'm came from voyager,you ready good at Rust and i have been learning from you recently. Thank you very much for your contribution,i just new at Rust.
from chromiumoxide.
The webdriver API is different from chrome's native devtools protocol which is unique for chromium based browsers. You can read about how it works in detail, however the gist of it is, if you run chromium with the --remote-debugging-port=0
argument, it will expose a websocket port that listens for commands, such as Page.PrintTPDF
, executes them and returns a response. To describe these commands, chromium uses a special format, like for browser protocol, this allows us to parse them and generate all the rust types via a build script. The API of chromiumoxide basically just bundles a set of commands to convenient operations.
If you want to know more, about the devtools protocol, you should look up puppeteer, the most sophisticated devtools api written in node, there should be a lot of tutorials about how it works in detail.
from chromiumoxide.
thanks mattsse!your erudition is amazing, I will go into deeper research here, if there is any new discovery, I will reopen issues,
from chromiumoxide.
Related Issues (20)
- Is there a example to take response body from request network?
- Is there an example of Network Request Interception? HOT 2
- Is there a way to force the browser to close in case the rust process is closed?
- How to wait for a specific dynamically loaded element to load?
- `<iframe>` elements stop page from loading HOT 28
- How to update .pdl files
- Critical Deserialization issue HOT 18
- CommandFuture will be polled forever if Page is closed.
- Unable to configure timeout on commands HOT 3
- Times Out On Any Website Using <browser>.new_page() HOT 9
- How'd i use proxy while taking screenshots HOT 1
- proxy arg not working
- Use new headless mode. HOT 1
- `page.wait_for_navigation().await?;` seems to return before all the pages assets (images,js,css) are fully loaded HOT 4
- Error `unknown flag 'disable-background-networking'` while using with Chromium HOT 1
- Page.goto hangs on some websites while browser.new_page works
- Is there a way to get access to the `redirect_chain` ?
- Error: ChromeMessage("Node is either not visible or not an HTMLElement") on a basic example HOT 2
- Running an init script
- Random crashes when not using headless mode
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chromiumoxide.