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
Imagine the following scenario: you need to automate tasks in your browser. Maybe it's testing a web application, collecting data from a site, or even automating repetitive processes. Normally this involves using external drivers, complex configurations, and many compatibility issues.
@@ -45,43 +45,144 @@ We believe that powerful automation shouldn't require you to become an expert in
45
45
-**Humanized Interactions**: Mimic real user behavior
46
46
-**Simplicity**: With Pydoll, you install and you're ready to automate.
47
47
48
-
## What's New in 2.4.0
48
+
## What's New
49
49
50
-
### Advanced browser preferences support (thanks to [@LucasAlvws](https://github.com/LucasAlvws))
51
-
You can now customize Chromium browser preferences through the `browser_preferences` dict in ChromiumOptions.<br><br>
52
-
Set things like download directory, language, notification blocking, PDF handling, and more.
53
-
Helper properties like `set_default_download_directory`, `set_accept_languages`, and `prompt_for_download` were added for convenience.
54
-
Preferences are merged automatically, no need to redefine everything.<br><br>
55
-
Here's an example:
50
+
### Browser-context HTTP requests - game changer for hybrid automation!
51
+
Ever wished you could make HTTP requests that automatically inherit all your browser's session state? **Now you can!**<br>
52
+
The `tab.request` property gives you a beautiful `requests`-like interface that executes HTTP calls directly in the browser's JavaScript context. This means every request automatically gets cookies, authentication headers, CORS policies, and session state, just as if the browser made the request itself.
56
53
54
+
**Perfect for Hybrid Automation:**
55
+
```python
56
+
# Navigate to a site and login normally with PyDoll
-**No more session juggling** - Requests inherit browser cookies automatically
93
+
-**CORS just works** - Requests respect browser security policies
94
+
-**Perfect for modern SPAs** - Seamlessly mix UI automation with API calls
95
+
-**Authentication made easy** - Login once via UI, then hammer APIs
96
+
-**Hybrid workflows** - Use the best tool for each step (UI or API)
97
+
98
+
This opens up incredible possibilities for automation scenarios where you need both browser interaction AND API efficiency!
99
+
100
+
### Total browser control with custom preferences! (thanks to [@LucasAlvws](https://github.com/LucasAlvws))
101
+
Want to completely customize how Chrome behaves? **Now you can control EVERYTHING!**<br>
102
+
The new `browser_preferences` system gives you access to hundreds of internal Chrome settings that were previously impossible to change programmatically. We're talking about deep browser customization that goes way beyond command-line flags!
103
+
104
+
**The possibilities are endless:**
57
105
```python
58
106
options = ChromiumOptions()
59
-
options.browser_preferences = { # you can set the entire dict
107
+
108
+
# Create the perfect automation environment
109
+
options.browser_preferences = {
60
110
'download': {
61
111
'default_directory': '/tmp/downloads',
62
-
'prompt_for_download': False
63
-
},
64
-
'intl': {
65
-
'accept_languages': 'en-US,en,pt-BR'
112
+
'prompt_for_download': False,
113
+
'directory_upgrade': True,
114
+
'extensions_to_open': ''# Don't auto-open any downloads
0 commit comments