You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Usually it's better to make the headless browser completely transparent for the page so that the page cannot tell if it's controlled by a human or robot.
100
100
In some cases, some page could use client js to detect if the page is control by a human or a robot, such web WebGL, WebDriver, or http request headers.
101
101
You can handcraft a js lib to hide all the traces, or just use lib [stealth](https://github.com/go-rod/stealth):
If `stealth` lib doesn't work for you, you can just launch the regular user browser with `launcher.NewUserMode`: [User mode](custom-launch.md?id=user-mode).
Please check the [examples_test.go](https://github.com/go-rod/rod/tree/master/examples_test.go) file first, then check the [examples](https://github.com/go-rod/rod/tree/master/lib/examples) folder.
3
+
Please check the [examples_test.go](https://github.com/go-rod/rod/tree/main/examples_test.go) file first, then check the [examples](https://github.com/go-rod/rod/tree/main/lib/examples) folder.
4
4
5
5
For more detailed examples, please search the unit tests.
6
6
Such as the usage of method `HandleAuth`, you can search all the `*_test.go` files that contain `HandleAuth`,
@@ -9,4 +9,4 @@ a lot of usage examples are recorded there.
9
9
10
10
## Comparison with Chromedp
11
11
12
-
For developers who are familiar with Chromedp, [here](https://github.com/go-rod/rod/tree/master/lib/examples/compare-chromedp) is a comparison of the examples between rod and Chromedp.
12
+
For developers who are familiar with Chromedp, [here](https://github.com/go-rod/rod/tree/main/lib/examples/compare-chromedp) is a comparison of the examples between rod and Chromedp.
Copy file name to clipboardExpand all lines: why-rod.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ When a crash happens, Chromedp will leave the zombie browser process on Windows
20
20
21
21
Rod is more configurable, such as you can even replace the WebSocket lib with the lib you like.
22
22
23
-
For direct code comparison you can check [here](https://github.com/go-rod/rod/tree/master/lib/examples/compare-chromedp). If you compare the example called `logic` between [rod](https://github.com/go-rod/rod/tree/master/lib/examples/compare-chromedp/logic/main.go) and [chromedp](https://github.com/chromedp/examples/blob/master/logic/main.go), you will find out how simpler rod is.
23
+
For direct code comparison you can check [here](https://github.com/go-rod/rod/tree/main/lib/examples/compare-chromedp). If you compare the example called `logic` between [rod](https://github.com/go-rod/rod/tree/main/lib/examples/compare-chromedp/logic/main.go) and [chromedp](https://github.com/chromedp/examples/blob/master/logic/main.go), you will find out how simpler rod is.
24
24
25
25
With Chromedp, you have to use their verbose DSL-like tasks to handle code logic. Chromedp uses several wrappers to handle execution with context and options, which makes it very hard to understand their code when bugs happen. The heavily used interfaces make the static types useless when tracking issues. In contrast, Rod uses as few interfaces as possible.
26
26
@@ -76,7 +76,7 @@ If you want to cooperate with us to create a testing focused framework base on R
76
76
77
77
Rod is the name of the control device for puppetry, such as the brown stick in the image below:
0 commit comments