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
Copy file name to clipboardExpand all lines: README.md
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -54,13 +54,15 @@
54
54
<br />
55
55
</p>
56
56
57
+
<p>SeleniumBase is the professional toolkit for web automation activities. Built for testing websites, bypassing CAPTCHAs, enhancing productivity, completing tasks, and scaling your business.</p>
58
+
57
59
--------
58
60
59
61
📚 Learn from [**over 200 examples** in the **SeleniumBase/examples/** folder](https://github.com/seleniumbase/SeleniumBase/tree/master/examples).
60
62
61
63
👤 Note that <spantranslate="no">SeleniumBase</span> <atranslate="no"href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md"><b>UC Mode</b> (Stealth Mode) has its own ReadMe</a>.
62
64
63
-
ℹ️ Scripts can be called via <codetranslate="no"><b>python</b></code>, although some <ahref="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md">Syntax Formats</a> expect <ahref="https://docs.pytest.org/en/latest/how-to/usage.html"translate="no"><b>pytest</b></a> (a Python unit-testing framework included with SeleniumBase that can discover & collect tests automatically).
65
+
ℹ️ Scripts can be called via <codetranslate="no"><b>python</b></code>, although some <ahref="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md">Syntax Formats</a> expect <ahref="https://docs.pytest.org/en/latest/how-to/usage.html"translate="no"><b>pytest</b></a> (a Python unit-testing framework included with SeleniumBase that can discover, collect, and run tests automatically).
64
66
65
67
<palign="left">📗 Here's <ahref="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/my_first_test.py">my_first_test.py</a>, which tests login, shopping, and checkout:</p>
<h3>🛬🛫 Thank you for flying with SeleniumBase! 🦅🚀</h3>
6
7
7
8
--------
8
9
9
-
<p><div><b>SeleniumBase Playlist on YouTube:</b></div></p>
10
+
<p><div><b>🛩️ SeleniumBase Playlist on YouTube:</b></div></p>
11
+
12
+
<p><span><ahref="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m"><imgsrc="https://seleniumbase.github.io/cdn/img/youtube.png"title="SeleniumBase Playlist on YouTube"alt="SeleniumBase Playlist on YouTube"width="76" /></a></span></p>
10
13
11
-
<p><span><ahref="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m"><imgsrc="https://seleniumbase.github.io/cdn/img/youtube.png"title="SeleniumBase Playlist on YouTube"alt="SeleniumBase Playlist on YouTube"width="64" /></a></span></p>
14
+
<p><div><b>🛩️ SeleniumBase GitHub Home Page:</b></div></p>
<p><div><span><ahref="https://github.com/seleniumbase/SeleniumBase"><imgsrc="https://seleniumbase.github.io/img/social/share_github.svg"title="SeleniumBase on GitHub"alt="SeleniumBase on GitHub"width="74" /></a></span></div></p>
14
17
15
-
<p><div><span><ahref="https://github.com/seleniumbase/SeleniumBase"><imgsrc="https://seleniumbase.github.io/img/social/share_github.svg"title="SeleniumBase on GitHub"alt="SeleniumBase on GitHub"width="54" /></a></span></div></p>
<p><span><ahref="https://discord.gg/EdhQTn3EyE"><imgsrc="https://seleniumbase.github.io/other/discord_icon.png"title="SeleniumBase on Discord"alt="SeleniumBase on Discord"width="72" /></a></span></p>
18
21
19
-
<p><span><ahref="https://gitter.im/seleniumbase/SeleniumBase"><imgsrc="https://seleniumbase.github.io/img/social/share_gitter.svg"title="SeleniumBase on Gitter"alt="SeleniumBase on Gitter"width="42" /></a></span></p>
<p><span><ahref="https://gitter.im/seleniumbase/SeleniumBase"><imgsrc="https://seleniumbase.github.io/img/social/share_gitter.svg"title="SeleniumBase on Gitter"alt="SeleniumBase on Gitter"width="56" /></a></span></p>
20
25
21
26
<p><div><b>Other Social Media Links:</b></div></p>
22
27
23
-
</div></p>
24
-
<span><ahref="https://www.facebook.com/SeleniumBase"><imgsrc="https://seleniumbase.github.io/img/social/share_facebook.svg"title="SeleniumBase on Facebook"alt="SeleniumBase on Facebook"width="46" /></a></span>
25
-
<span><ahref="https://twitter.com/seleniumbase"><imgsrc="https://seleniumbase.github.io/img/social/share_twitter.svg"title="SeleniumBase on Twitter"alt="SeleniumBase on Twitter"width="46" /></a></span>
26
-
<span><ahref="https://instagram.com/seleniumbase"><imgsrc="https://seleniumbase.github.io/img/social/share_instagram.svg"title="SeleniumBase on Instagram"alt="SeleniumBase on Instagram"width="40" /></a></span>
28
+
<div></p>
29
+
<span><ahref="https://www.facebook.com/SeleniumBase"><imgsrc="https://seleniumbase.github.io/img/social/share_facebook.svg"title="SeleniumBase on Facebook"alt="SeleniumBase on Facebook"width="50" /></a></span>
30
+
<span><ahref="https://twitter.com/seleniumbase"><imgsrc="https://seleniumbase.github.io/img/social/share_twitter.svg"title="SeleniumBase on Twitter"alt="SeleniumBase on Twitter"width="50" /></a></span>
31
+
<span><ahref="https://instagram.com/seleniumbase"><imgsrc="https://seleniumbase.github.io/img/social/share_instagram.svg"title="SeleniumBase on Instagram"alt="SeleniumBase on Instagram"width="42" /></a></span>
### 👤 Here are the <b><codetranslate="no">driver</code></b>-specific methods added by SeleniumBase for UC Mode: `--uc` / <b><codetranslate="no">uc=True</code></b>
(Note that while the special <b><codetranslate="no">UC Mode</code></b> breakpoint is active, you can't use <b><codetranslate="no">Selenium</code></b> commands in the browser, and the browser can't detect <b><codetranslate="no">Selenium</code></b>.)
242
263
264
+
--------
265
+
243
266
👤 On Linux, you may need to use `uc_gui_click_captcha()` to successfully bypass a Cloudflare CAPTCHA. If there's more than one Cloudflare iframe on that website, then put the CSS Selector of an element that's above the iframe as the first arg to `uc_gui_click_captcha()`. This method uses `pyautogui`. In order for `pyautogui` to focus on the correct element, use `xvfb=True` / `--xvfb` to activate a special virtual display on Linux.
244
267
245
268
👤 `uc_gui_click_captcha()` auto-detects the CAPTCHA type before trying to click it. This is a generic method for both CF Turnstile and Google reCAPTCHA. It will use the code from `uc_gui_click_cf()` and `uc_gui_click_rc()` as needed.
👤 `uc_gui_click_rc(frame="iframe", retry=False, blind=False)` is for reCAPTCHA. This may only work a few times before not working anymore... not because Selenium was detected, but because reCAPTCHA uses advanced AI to detect unusual activity, unlike the CF Turnstile, which only uses basic detection.
250
273
274
+
--------
275
+
251
276
👤 To find out if <btranslate="no">UC Mode</b> will work at all on a specific site (before adjusting for timing), load your site with the following script:
252
277
253
278
```python
@@ -259,6 +284,8 @@ with SB(uc=True) as sb:
259
284
260
285
(If you remain undetected while loading the page and performing manual actions, then you know you can create a working script once you swap the breakpoint with a time and add special methods like <b><codetranslate="no">sb.uc_click</code></b> as needed.)
261
286
287
+
--------
288
+
262
289
👤 <b>Multithreaded UC Mode:</b>
263
290
264
291
If you're using <b><codetranslate="no">pytest</code></b> for multithreaded <btranslate="no">UC Mode</b> (which requires using one of the <b><codetranslate="no">pytest</code></b> [syntax formats](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md)), then all you have to do is set the number of threads when your script runs. (`-n NUM`) Eg:
@@ -343,7 +370,7 @@ The above JS method is used within the <b><code translate="no">SeleniumBase</cod
As an ethical hacker / cybersecurity researcher who builds bots that bypass CAPTCHAs for sport, <b>the CAPTCHA service that I personally recommend</b> for keeping bots out is <btranslate="no">Google's reCAPTCHA</b>:
373
+
As an ethical hacker / cybersecurity researcher who builds bots that bypass CAPTCHAs for sport, <b>the CAPTCHA service that I personally recommend</b> for keeping bots out is <btranslate="no">Google reCAPTCHA</b>:
0 commit comments