Skip to content

Commit af9ec99

Browse files
committed
docs: add key features to the README for enhanced clarity
1 parent 0e80824 commit af9ec99

File tree

1 file changed

+9
-72
lines changed

1 file changed

+9
-72
lines changed

README.md

Lines changed: 9 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,15 @@
2222
</p>
2323

2424

25+
## Key Features
26+
27+
🔹 **Zero Webdrivers!** Say goodbye to webdriver compatibility nightmares
28+
🔹 **Native Captcha Bypass!** Smoothly handles Cloudflare Turnstile and reCAPTCHA v3*
29+
🔹 **Async Performance** for lightning-fast automation
30+
🔹 **Human-like Interactions** that mimic real user behavior
31+
🔹 **Powerful Event System** for reactive automations
32+
🔹 **Multi-browser Support** including Chrome and Edge
33+
2534
## Why Pydoll Exists
2635

2736
Picture this: you need to automate browser tasks. Maybe it's testing your web application, scraping data from websites, or automating repetitive processes. Traditionally, this meant dealing with external drivers, complex configurations, and a host of compatibility issues that seemed to appear out of nowhere.
@@ -171,77 +180,6 @@ asyncio.run(advanced_captcha_bypass())
171180
- **Fast**: Instant solving without network delays to external services
172181
- **Seamless Integration**: Captcha bypass happens transparently in your automation flow
173182

174-
### Human-Like Interactions
175-
176-
Pydoll's secret weapon against bot detection is its sophisticated human behavior simulation. Modern websites use advanced algorithms to detect automation by analyzing interaction patterns, timing, and mouse movements. Pydoll counters this with realistic human simulation.
177-
178-
**What Makes Interactions Human-Like:**
179-
- **Natural Timing Variations**: Random delays between actions that mimic human hesitation and thinking time
180-
- **Realistic Mouse Movements**: Curved, natural mouse paths instead of straight lines
181-
- **Human Typing Patterns**: Variable typing speeds with realistic pauses and occasional typos
182-
- **Scroll Behavior**: Natural scrolling patterns with momentum and easing
183-
- **Focus and Attention Simulation**: Realistic tab switching and window focus patterns
184-
185-
```python
186-
import asyncio
187-
import random
188-
from pydoll.browser import Chrome
189-
190-
async def human_like_automation():
191-
async with Chrome() as browser:
192-
tab = await browser.start()
193-
await tab.go_to('https://example.com')
194-
195-
# Human-like typing with natural variations
196-
search_box = await tab.find(id='search')
197-
await search_box.type('web automation', human_like=True)
198-
# Automatically includes: random typing speed, occasional pauses,
199-
# natural timing between keystrokes
200-
201-
# Human-like clicking with realistic mouse movement
202-
search_button = await tab.find(tag_name='button', text='Search')
203-
await search_button.click(human_like=True)
204-
# Automatically includes: curved mouse movement, natural click timing,
205-
# slight position variations
206-
207-
# Human-like scrolling behavior
208-
await tab.scroll_to_element(
209-
await tab.find(class_name='results'),
210-
smooth=True,
211-
human_like=True
212-
)
213-
# Includes: momentum scrolling, natural easing, realistic speed
214-
215-
# Simulate human reading/scanning time
216-
results = await tab.find(class_name='result-item', find_all=True)
217-
for result in results:
218-
# Simulate human scanning time before clicking
219-
await asyncio.sleep(random.uniform(0.5, 2.0))
220-
221-
# Human-like hover before clicking (common human behavior)
222-
await result.hover(human_like=True)
223-
await asyncio.sleep(random.uniform(0.2, 0.8))
224-
225-
if await result.find(text='relevant content', raise_exc=False):
226-
await result.click(human_like=True)
227-
break
228-
229-
asyncio.run(human_like_automation())
230-
```
231-
232-
**Advanced Human Simulation Features:**
233-
- **Behavioral Fingerprinting Resistance**: Varies interaction patterns to avoid detection
234-
- **Attention Simulation**: Realistic focus patterns and tab switching behavior
235-
- **Error Simulation**: Occasional "human mistakes" like misclicks or typos that are corrected
236-
- **Reading Pattern Simulation**: Natural eye movement and reading time simulation
237-
- **Multi-tab Behavior**: Realistic tab management and switching patterns
238-
239-
**Detection Evasion Techniques:**
240-
- **Canvas Fingerprinting Protection**: Randomizes canvas rendering signatures
241-
- **WebGL Fingerprinting Protection**: Varies WebGL parameters to avoid tracking
242-
- **Font Fingerprinting Resistance**: Randomizes font rendering characteristics
243-
- **Timezone and Locale Variation**: Realistic geographic and temporal variations
244-
- **Browser Fingerprint Randomization**: Varies browser characteristics between sessions
245183

246184
### Advanced Element Finding
247185

@@ -422,7 +360,6 @@ The documentation includes:
422360
- **Getting Started Guide** - Step-by-step tutorials
423361
- **API Reference** - Complete method documentation
424362
- **Advanced Techniques** - Network interception, event handling, performance optimization
425-
- **Migration Guide** - Upgrading from older versions
426363
- **Troubleshooting** - Common issues and solutions
427364
- **Best Practices** - Patterns for reliable automation
428365

0 commit comments

Comments
 (0)