Skip to content

Commit 570910c

Browse files
authored
Merge pull request #2349 from seleniumbase/fix-bugs-refactor-and-upgrade-selenium
Fix bugs, refactor, and upgrade selenium
2 parents 01c98e2 + 144d536 commit 570910c

File tree

12 files changed

+50
-53
lines changed

12 files changed

+50
-53
lines changed

examples/github_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ def test_github(self):
1717
self.assert_element("div.repository-content")
1818
self.assert_text("SeleniumBase", "strong a")
1919
self.click('a[title="seleniumbase"]')
20-
self.slow_click('a[aria-describedby="item-type-fixtures"]')
21-
self.assert_element('a[aria-describedby="item-type-base_case.py"]')
20+
self.slow_click('td[class*="large"] a[title="fixtures"]')
21+
self.assert_element('td[class*="large"] a[title="base_case.py"]')

examples/presenter/uc_presentation.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,17 @@ def test_presentation(self):
2929

3030
self.get_new_driver(undetectable=True)
3131
try:
32-
self.driver.uc_open_with_tab("https://nowsecure.nl/#relax")
32+
self.driver.uc_open_with_reconnect(
33+
"https://nowsecure.nl/#relax", reconnect_time=3
34+
)
3335
try:
3436
self.assert_text("OH YEAH, you passed!", "h1", timeout=4)
3537
self.post_message("Selenium wasn't detected!", duration=4)
3638
except Exception:
3739
self.clear_all_cookies()
38-
self.driver.uc_open_with_tab("https://nowsecure.nl/#relax")
40+
self.driver.uc_open_with_reconnect(
41+
"https://nowsecure.nl/#relax", reconnect_time=3
42+
)
3943
self.assert_text("OH YEAH, you passed!", "h1", timeout=4)
4044
self.post_message("Selenium wasn't detected!", duration=4)
4145
finally:
@@ -51,8 +55,7 @@ def test_presentation(self):
5155
"</mk-1></p>"
5256
)
5357
self.begin_presentation(filename="uc_presentation.html")
54-
subprocess.Popen("pytest multi_uc.py --uc -q -n3", shell=True)
55-
self.sleep(6)
58+
subprocess.Popen("pytest multi_uc.py --uc -n3", shell=True).wait()
5659
self.create_presentation(theme="serif", transition="fade")
5760
self.add_slide(
5861
"<p>Not just an army of bots, but an army of bots<br />"

examples/raw_uc_mode.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""SB Manager using UC Mode for evading bot-detection."""
22
from seleniumbase import SB
33

4-
with SB(uc=True) as sb:
4+
with SB(uc=True, test=True) as sb:
55
sb.driver.uc_open_with_tab("https://nowsecure.nl/#relax")
66
sb.sleep(1.2)
77
if not sb.is_text_visible("OH YEAH, you passed!", "h1"):

examples/test_hack_search.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def test_hack_search(self):
2626
self.highlight_click('[href="/seleniumbase/SeleniumBase"]')
2727
self.highlight_click('a[title="examples"]')
2828
self.assert_text("examples", "#file-name-id-wide")
29-
self.highlight('a[aria-describedby="item-type-test_hack_search.py"]')
30-
self.click('a[aria-describedby="item-type-test_hack_search.py"]')
29+
self.highlight('td[class*="large"] a[title="test_hack_search.py"]')
30+
self.click('td[class*="large"] a[title="test_hack_search.py"]')
3131
self.assert_text("test_hack_search.py", "#file-name-id-wide")
3232
self.highlight("#file-name-id-wide")

examples/test_shadow_dom.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def test_shadow_dom(self):
6363
)
6464
remove_button = (
6565
"downloads-manager::shadow #downloadsList"
66-
" downloads-item::shadow #remove"
66+
" downloads-item::shadow #remove-old"
6767
)
6868
no_downloads_area = "downloads-manager::shadow #no-downloads"
6969

examples/youtube_search_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ def test_youtube_autocomplete_results(self):
3232
'Actual text was "%s"!' % (search_term, top_result),
3333
)
3434
self.click(result_selector)
35-
self.assert_element_present('a[aria-label*="SeleniumBase"]')
35+
self.sleep(1)

mkdocs_build/requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ pymdown-extensions>=10.5
77
pipdeptree>=2.13.1
88
python-dateutil>=2.8.2
99
Markdown==3.5.1
10-
markdown2==2.4.10
10+
markdown2==2.4.11
1111
MarkupSafe==2.1.3
1212
Jinja2==3.1.2
1313
click==8.1.7
@@ -20,7 +20,7 @@ paginate==0.5.6
2020
pyquery==2.0.0
2121
readtime==3.0.0
2222
mkdocs==1.5.3
23-
mkdocs-material==9.4.14
24-
mkdocs-exclude-search==0.6.5
23+
mkdocs-material==9.5.0
24+
mkdocs-exclude-search==0.6.6
2525
mkdocs-simple-hooks==0.1.5
2626
mkdocs-material-extensions==1.3.1

requirements.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ attrs>=23.1.0
77
certifi>=2023.11.17
88
filelock>=3.12.2;python_version<"3.8"
99
filelock>=3.13.1;python_version>="3.8"
10-
platformdirs>=4.0.0
10+
platformdirs>=4.0.0;python_version<"3.8"
11+
platformdirs>=4.1.0;python_version>="3.8"
1112
parse>=1.20.0
1213
parse-type>=0.6.2
1314
six==1.16.0
@@ -26,7 +27,7 @@ trio==0.23.1;python_version>="3.8"
2627
trio-websocket==0.11.1
2728
wsproto==1.2.0
2829
selenium==4.11.2;python_version<"3.8"
29-
selenium==4.15.2;python_version>="3.8"
30+
selenium==4.16.0;python_version>="3.8"
3031
cssselect==1.2.0
3132
sortedcontainers==2.4.0
3233
fasteners==0.19

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.21.7"
2+
__version__ = "4.22.0"

seleniumbase/core/proxy_helper.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ def create_proxy_ext(
2727
if not bypass_list:
2828
bypass_list = ""
2929
if proxy_string:
30-
proxy_host = proxy_string.split(":")[0]
30+
proxy_protocol = ""
31+
if proxy_string.count("://") == 1:
32+
proxy_protocol = proxy_string.split("://")[0] + "://"
33+
proxy_string = proxy_string.split("://")[1]
34+
proxy_host = proxy_protocol + proxy_string.split(":")[0]
3135
proxy_port = proxy_string.split(":")[1]
3236
background_js = (
3337
"""var config = {\n"""

0 commit comments

Comments
 (0)