Skip to content

Commit 60523ad

Browse files
committed
docs: update README with improved project title and warning emphasis
1 parent b26d3e9 commit 60523ad

File tree

1 file changed

+3
-14
lines changed

1 file changed

+3
-14
lines changed

README.md

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<p align="center">
22
<img src="https://github.com/user-attachments/assets/219f2dbc-37ed-4aea-a289-ba39cdbb335d" alt="Pydoll Logo" /> <br><br>
33
</p>
4-
<h1 align="center">Pydoll: Async Browser Automation</h1>
4+
<h1 align="center">Pydoll: Automate the Web, Naturally</h1>
55

66
<p align="center">
77
<a href="https://codecov.io/gh/autoscrape-labs/pydoll" >
@@ -40,7 +40,7 @@ We believe that powerful automation shouldn't require you to become an expert in
4040
- **Humanized Interactions**: Mimic real user behavior
4141
- **Simplicity**: With Pydoll, you install and you're ready to automate.
4242

43-
> The effectiveness of captcha bypass depends on various factors, such as IP address reputation. Pydoll can achieve scores comparable to real users, but cannot handle restrictive configurations or IP blocks.
43+
>⚠️ The effectiveness of captcha bypass depends on various factors, such as IP address reputation. Pydoll can achieve scores comparable to real users, but cannot handle restrictive configurations or IP blocks.
4444
4545
## 📦 Installation
4646

@@ -160,11 +160,7 @@ async def cloudflare_example():
160160
print('Captcha handled, continuing...')
161161
await asyncio.sleep(5) # just to see the result :)
162162

163-
async def main():
164-
await cloudflare_example()
165-
166-
if __name__ == '__main__':
167-
asyncio.run(main())
163+
asyncio.run(cloudflare_example())
168164

169165
```
170166

@@ -231,24 +227,19 @@ async def element_finding_examples():
231227
class_name='btn-primary',
232228
text='Submit'
233229
)
234-
235230
# Find by ID
236231
username_field = await tab.find(id='username')
237-
238232
# Find multiple elements
239233
all_links = await tab.find(tag_name='a', find_all=True)
240-
241234
# CSS selectors and XPath
242235
nav_menu = await tab.query('nav.main-menu')
243236
specific_item = await tab.query('//div[@data-testid="item-123"]')
244-
245237
# With timeout and error handling
246238
delayed_element = await tab.find(
247239
class_name='dynamic-content',
248240
timeout=10,
249241
raise_exc=False # Returns None if not found
250242
)
251-
252243
# Advanced: Custom attributes
253244
custom_element = await tab.find(
254245
data_testid='submit-button',
@@ -272,7 +263,6 @@ at the same time! Let's see an example:
272263
import asyncio
273264
from pydoll.browser import Chrome
274265

275-
276266
async def scrape_page(url, tab):
277267
await tab.go_to(url)
278268
title = await tab.execute_script('return document.title')
@@ -283,7 +273,6 @@ async def scrape_page(url, tab):
283273
'link_count': len(links)
284274
}
285275

286-
287276
async def concurrent_scraping():
288277
browser = Chrome()
289278
tab_google = await browser.start()

0 commit comments

Comments
 (0)