Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8317bc8

Browse files
authored
Merge pull request #3550 from seleniumbase/cdp-mode-patch-36
CDP Mode: Patch 36
2 parents 131bd70 + 4974aef commit 8317bc8

File tree

13 files changed

+117
-68
lines changed

13 files changed

+117
-68
lines changed

‎examples/cdp_mode/ReadMe.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,11 +328,11 @@ with SB(uc=True, test=True, ad_block=True) as sb:
328328
```python
329329
from seleniumbase import SB
330330

331-
with SB(uc=True, test=True, locale_code="en", ad_block=True) as sb:
331+
with SB(uc=True, test=True, locale_code="en", pls="none") as sb:
332332
url = "https://www.nike.com/"
333333
sb.activate_cdp_mode(url)
334334
sb.sleep(2.5)
335-
sb.cdp.gui_click_element('div[data-testid="user-tools-container"]')
335+
sb.cdp.mouse_click('div[data-testid="user-tools-container"]')
336336
sb.sleep(1.5)
337337
search = "Nike Air Force 1"
338338
sb.cdp.press_keys('input[type="search"]', search)
@@ -470,6 +470,8 @@ sb.cdp.is_exact_text_visible(text, selector="body")
470470
sb.cdp.wait_for_text(text, selector="body", timeout=None)
471471
sb.cdp.wait_for_text_not_visible(text, selector="body", timeout=None)
472472
sb.cdp.wait_for_element_visible(selector, timeout=None)
473+
sb.cdp.wait_for_element_not_visible(selector, timeout=None)
474+
sb.cdp.wait_for_element_absent(selector, timeout=None)
473475
sb.cdp.assert_element(selector, timeout=None)
474476
sb.cdp.assert_element_visible(selector, timeout=None)
475477
sb.cdp.assert_element_present(selector, timeout=None)

‎examples/cdp_mode/raw_cdp_nike.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
page = loop.run_until_complete(driver.get(url))
99
sb = sb_cdp.CDPMethods(loop, page, driver)
1010

11-
search = "Nike Fly Shoes"
11+
search = "Road Racing Shoes"
1212
sb.click('div[data-testid="user-tools-container"]')
1313
sb.sleep(1)
1414
sb.press_keys('input[type="search"]', search)

‎examples/cdp_mode/raw_footlocker.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
sb.activate_cdp_mode(url)
66
sb.sleep(2.5)
77
sb.cdp.click_if_visible('button[id*="Agree"]')
8-
sb.sleep(2.5)
8+
sb.sleep(1.5)
99
sb.cdp.mouse_click('input[aria-label="Search"]')
10-
sb.sleep(2.5)
10+
sb.sleep(1.5)
1111
search = "Nike Shoes"
1212
sb.cdp.press_keys('input[aria-label="Search"]', search)
1313
sb.sleep(2.5)

‎examples/cdp_mode/raw_nike.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from seleniumbase import SB
22

3-
with SB(uc=True, test=True, locale_code="en", ad_block=True) as sb:
3+
with SB(uc=True, test=True, locale_code="en", pls="none") as sb:
44
url = "https://www.nike.com/"
55
sb.activate_cdp_mode(url)
66
sb.sleep(2.5)
7-
sb.cdp.gui_click_element('div[data-testid="user-tools-container"]')
7+
sb.cdp.mouse_click('div[data-testid="user-tools-container"]')
88
sb.sleep(1.5)
99
search = "Nike Air Force 1"
1010
sb.cdp.press_keys('input[type="search"]', search)

‎examples/cdp_mode/raw_res_nike.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ async def receive_handler(event: mycdp.network.ResponseReceived):
2525
print(event.response)
2626

2727

28-
with SB(uc=True, test=True, locale_code="en", ad_block=True) as sb:
28+
with SB(uc=True, test=True, locale_code="en", pls="none") as sb:
2929
url = "https://www.nike.com/"
3030
sb.activate_cdp_mode(url)
3131
sb.cdp.add_handler(mycdp.network.RequestWillBeSent, send_handler)
3232
sb.cdp.add_handler(mycdp.network.ResponseReceived, receive_handler)
3333
sb.sleep(2.5)
34-
sb.cdp.gui_click_element('div[data-testid="user-tools-container"]')
34+
sb.cdp.mouse_click('div[data-testid="user-tools-container"]')
3535
sb.sleep(1.5)
3636
search = "Nike Air Force 1"
3737
sb.cdp.press_keys('input[type="search"]', search)

‎examples/cdp_mode/raw_science.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from seleniumbase import SB
2+
3+
with SB(uc=True, incognito=True, test=True) as sb:
4+
url = "https://earth.esa.int/eogateway/search"
5+
sb.activate_cdp_mode(url)
6+
sb.sleep(1)
7+
sb.cdp.click_if_visible('button:contains("Accept cookies")')
8+
for i in range(20):
9+
sb.cdp.scroll_to_bottom()
10+
sb.cdp.click_if_visible('button:contains("READ MORE")')
11+
sb.sleep(1)
12+
elements = sb.cdp.find_elements("h4 a span")
13+
for element in elements:
14+
print(element.text)
15+
print("*** Total entries: %s" % len(elements))

‎examples/presenter/uc_presentation_4.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -838,11 +838,11 @@ def test_presentation_4(self):
838838
)
839839
self.begin_presentation(filename="uc_presentation.html")
840840

841-
with SB(uc=True, test=True, locale_code="en", ad_block=True) as sb:
841+
with SB(uc=True, test=True, locale_code="en", pls="none") as sb:
842842
url = "https://www.nike.com/"
843843
sb.activate_cdp_mode(url)
844844
sb.sleep(2.5)
845-
sb.cdp.gui_click_element('div[data-testid="user-tools-container"]')
845+
sb.cdp.mouse_click('div[data-testid="user-tools-container"]')
846846
sb.sleep(1.5)
847847
search = "Nike Air Force 1"
848848
sb.cdp.press_keys('input[type="search"]', search)

‎requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ trio-websocket==0.12.1
4343
wsproto==1.2.0
4444
websocket-client==1.8.0
4545
selenium==4.27.1;python_version<"3.9"
46-
selenium==4.28.1;python_version>="3.9"
46+
selenium==4.29.0;python_version>="3.9"
4747
cssselect==1.2.0
4848
sortedcontainers==2.4.0
4949
execnet==2.1.1

‎seleniumbase/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# seleniumbase package
2-
__version__ = "4.34.17"
2+
__version__ = "4.35.0"

‎seleniumbase/core/browser_launcher.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,8 @@ def uc_open_with_cdp_mode(driver, url=None):
723723
cdp.wait_for_text = CDPM.wait_for_text
724724
cdp.wait_for_text_not_visible = CDPM.wait_for_text_not_visible
725725
cdp.wait_for_element_visible = CDPM.wait_for_element_visible
726+
cdp.wait_for_element_not_visible = CDPM.wait_for_element_not_visible
727+
cdp.wait_for_element_absent = CDPM.wait_for_element_absent
726728
cdp.assert_element = CDPM.assert_element
727729
cdp.assert_element_visible = CDPM.assert_element_visible
728730
cdp.assert_element_present = CDPM.assert_element_present
@@ -1628,9 +1630,19 @@ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None):
16281630
):
16291631
driver.uc_open_with_disconnect(driver.current_url, 3.8)
16301632
with suppress(Exception):
1633+
if "--debug" in sys.argv:
1634+
if sb_config._saved_cf_tab_count == 1:
1635+
print(' <DEBUG> pyautogui.press("\\t")')
1636+
else:
1637+
print(
1638+
' <DEBUG> pyautogui.press("\\t") * %s'
1639+
% sb_config._saved_cf_tab_count
1640+
)
16311641
for i in range(sb_config._saved_cf_tab_count):
16321642
pyautogui.press("\t")
16331643
time.sleep(0.027)
1644+
if "--debug" in sys.argv:
1645+
print(' <DEBUG> pyautogui.press(" ")')
16341646
pyautogui.press(" ")
16351647
else:
16361648
driver.disconnect()
@@ -2310,7 +2322,14 @@ def _set_chrome_options(
23102322
and not enable_3d_apis
23112323
):
23122324
chrome_options.add_argument("--disable-gpu")
2313-
if not IS_LINUX and is_using_uc(undetectable, browser_name):
2325+
if (
2326+
(not IS_LINUX and is_using_uc(undetectable, browser_name))
2327+
or (
2328+
IS_MAC
2329+
and binary_location
2330+
and "chrome-headless-shell" in binary_location
2331+
)
2332+
):
23142333
chrome_options.add_argument("--disable-dev-shm-usage")
23152334
chrome_options.add_argument("--disable-application-cache")
23162335
if IS_LINUX:

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /