Skip to content

Commit 7d68de9

Browse files
authored
Update README.md
1 parent 4780b72 commit 7d68de9

File tree

1 file changed

+0
-77
lines changed

1 file changed

+0
-77
lines changed

README.md

Lines changed: 0 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -45,82 +45,6 @@ We believe that powerful automation shouldn't require you to become an expert in
4545
- **Humanized Interactions**: Mimic real user behavior
4646
- **Simplicity**: With Pydoll, you install and you're ready to automate.
4747

48-
## What's New
49-
50-
### Remote connections via WebSocket — control any Chrome from anywhere!
51-
52-
You asked for it, we delivered. You can now connect to an already running browser remotely via its WebSocket address and use the full Pydoll API immediately.
53-
54-
```python
55-
from pydoll.browser.chromium import Chrome
56-
57-
chrome = Chrome()
58-
tab = await chrome.connect('ws://YOUR_HOST:9222/devtools/browser/XXXX')
59-
60-
# Full power unlocked: navigation, element automation, requests, events…
61-
await tab.go_to('https://example.com')
62-
title = await tab.execute_script('return document.title')
63-
print(title)
64-
```
65-
66-
This makes it effortless to run Pydoll against remote/CI browsers, containers, or shared debugging targets — no local launch required. Just point to the WS endpoint and automate.
67-
68-
### Navigate the DOM like a pro: get_children_elements() and get_siblings_elements()
69-
70-
Two delightful helpers to traverse complex layouts with intention:
71-
72-
```python
73-
# Grab direct children of a container
74-
container = await tab.find(id='cards')
75-
cards = await container.get_children_elements(max_depth=1)
76-
77-
# Want to go deeper? This will return children of children (and so on)
78-
elements = await container.get_children_elements(max_depth=2)
79-
80-
# Walk horizontal lists without re-querying the DOM
81-
active = await tab.find(class_name='item-active')
82-
siblings = await active.get_siblings_elements()
83-
84-
print(len(cards), len(siblings))
85-
```
86-
87-
Use them to cut boilerplate, express intent, and keep your scraping/automation logic clean and readable — especially in dynamic grids, lists and menus.
88-
89-
### WebElement: state waiting and new public APIs
90-
91-
- New `wait_until(...)` on `WebElement` to await element states with minimal code:
92-
93-
```python
94-
# Wait until it becomes visible OR the timeout expires
95-
await element.wait_until(is_visible=True, timeout=5)
96-
97-
# Wait until it becomes interactable (visible, on top, receiving pointer events)
98-
await element.wait_until(is_interactable=True, timeout=10)
99-
```
100-
101-
- Methods now public on `WebElement`:
102-
- `is_visible()`
103-
- Checks that the element has a visible area (> 0), isn’t hidden by CSS and is in the viewport (after `scroll_into_view()` when needed). Useful pre-check before interactions.
104-
- `is_interactable()`
105-
- “Click-ready” state: combines visibility, enabledness and pointer-event hit testing. Ideal for robust flows that avoid lost clicks.
106-
- `is_on_top()`
107-
- Verifies the element is the top hit-test target at the intended click point, avoiding overlays.
108-
- `execute_script(script: str, return_by_value: bool = False)`
109-
- Executes JavaScript in the element’s own context (where `this` is the element). Great for fine-tuning and quick inspections.
110-
111-
```python
112-
# Visually outline the element via JS
113-
await element.execute_script("this.style.outline='2px solid #22d3ee'")
114-
115-
# Confirm states
116-
visible = await element.is_visible()
117-
interactable = await element.is_interactable()
118-
on_top = await element.is_on_top()
119-
```
120-
121-
These additions simplify waiting and state validation before clicking/typing, reducing flakiness and making automations more predictable.
122-
123-
12448
## 📦 Installation
12549

12650
```bash
@@ -247,7 +171,6 @@ Pydoll offers a series of advanced features to please even the most
247171
demanding users.
248172

249173

250-
251174
### Advanced Element Search
252175

253176
We have several ways to find elements on the page. No matter how you prefer, we have a way that makes sense for you:

0 commit comments

Comments
 (0)