Skip to content

Commit 54e24fc

Browse files
authored
Merge pull request #1606 from seleniumbase/improve-mac-m1-and-m2-compatibility
Improve Mac M1 and M2 compatibility
2 parents 4feb585 + 7dea2d3 commit 54e24fc

File tree

18 files changed

+176
-41
lines changed

18 files changed

+176
-41
lines changed

examples/hack_the_planet.py

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ def test_all_your_base_are_belong_to_us(self):
1010
aybabtu = "%s %s" % (ayb, abtu)
1111
sb_banner_logo = "//seleniumbase.io/cdn/img/sb_logo_10.png"
1212
sb_dashboard_logo = "//seleniumbase.io/img/dash_pie_3.png"
13-
yt_chip = "#chips yt-chip-cloud-chip-renderer:nth-of-type"
1413
wiki = "https://en.wikipedia.org/wiki/All_your_base_are_belong_to_us"
1514

1615
self.open(wiki)
@@ -100,29 +99,6 @@ def test_all_your_base_are_belong_to_us(self):
10099
self.highlight('a[href*="w/signup"] span', loops=6, scroll=False)
101100
self.highlight('a[href*="w/signup"]', loops=6, scroll=False)
102101

103-
self.open("https://www.youtube.com/")
104-
self.set_text_content("%s(1)" % yt_chip, "ALL")
105-
self.set_text_content("%s(2)" % yt_chip, "YOUR")
106-
self.set_text_content("%s(3)" % yt_chip, "BASE")
107-
self.set_text_content("%s(4)" % yt_chip, "ARE")
108-
self.set_text_content("%s(5)" % yt_chip, "BELONG")
109-
self.set_text_content("%s(6)" % yt_chip, "TO")
110-
self.set_text_content("%s(7)" % yt_chip, "US")
111-
self.set_text_content("%s(8)" % yt_chip, "!")
112-
self.set_text_content("%s(9)" % yt_chip, "!")
113-
self.set_text_content("%s(10)" % yt_chip, "!")
114-
self.click_if_visible("#dismiss-button")
115-
self.click_if_visible('button[aria-label="Close"]')
116-
self.highlight("#scroll-container", loops=5, scroll=False)
117-
self.highlight("%s(1)" % yt_chip, loops=1, scroll=False)
118-
self.highlight("%s(2)" % yt_chip, loops=1, scroll=False)
119-
self.highlight("%s(3)" % yt_chip, loops=3, scroll=False)
120-
self.highlight("%s(4)" % yt_chip, loops=1, scroll=False)
121-
self.highlight("%s(5)" % yt_chip, loops=1, scroll=False)
122-
self.highlight("%s(6)" % yt_chip, loops=1, scroll=False)
123-
self.highlight("%s(7)" % yt_chip, loops=3, scroll=False)
124-
self.highlight("#scroll-container", loops=7, scroll=False)
125-
126102
self.open("https://github.com/features/actions")
127103
self.set_text_content('a[href="/team"]', ayb)
128104
self.set_text_content('a[href="/enterprise"]', abtu)

examples/old_wordle_script.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,10 @@ def test_wordle(self):
101101
self.click(keyboard_base + button)
102102
row = 'game-app::shadow game-row[letters="%s"]::shadow ' % word
103103
tile = row + "game-tile:nth-of-type(%s)"
104-
self.wait_for_element(tile % "5" + '::shadow [data-state*="e"]')
104+
self.wait_for_element(tile % "5" + '::shadow [data-state$="t"]')
105+
self.wait_for_element(
106+
tile % "5" + '::shadow [data-animation="idle"]'
107+
)
105108
letter_status = []
106109
for i in range(1, 6):
107110
letter_eval = self.get_attribute(tile % str(i), "evaluation")

examples/wordle_test.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,14 @@ def modify_word_list(self, word, letter_status):
5050
self.word_list = new_word_list
5151
new_word_list = []
5252

53-
def skip_if_headless_mode(self):
54-
if self.headless:
55-
message = "Skip this test in headless mode!"
56-
print(message)
57-
self.skip(message)
58-
5953
def test_wordle(self):
60-
self.skip_if_headless_mode()
54+
if self.headless:
55+
self.skip("Skip this test in headless mode!")
6156
self.open("https://www.nytimes.com/games/wordle/index.html")
6257
self.click_if_visible('svg[data-testid="icon-close"]', timeout=2)
6358
self.remove_elements("div.place-ad")
6459
self.initialize_word_list()
60+
random.seed()
6561
word = random.choice(self.word_list)
6662
num_attempts = 0
6763
found_word = False
@@ -74,15 +70,14 @@ def test_wordle(self):
7470
button = 'button[data-key="%s"]' % letter
7571
self.click(button)
7672
button = 'button[class*="oneAndAHalf"]'
77-
self.wait_for_ready_state_complete()
7873
self.click(button)
7974
row = (
8075
'div[class*="lbzlf"] div[class*="Row-module"]:nth-of-type(%s) '
8176
% num_attempts
8277
)
8378
tile = row + 'div:nth-child(%s) div[class*="module_tile__3ayIZ"]'
84-
self.wait_for_element(tile % "5" + '[data-state*="e"]')
85-
self.wait_for_ready_state_complete()
79+
self.wait_for_element(tile % "5" + '[data-state$="t"]')
80+
self.wait_for_element(tile % "5" + '[data-animation="idle"]')
8681
letter_status = []
8782
for i in range(1, 6):
8883
letter_eval = self.get_attribute(tile % str(i), "data-state")

mkdocs_build/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ cssselect2==0.7.0
2929
tinycss2==1.2.1
3030
defusedxml==0.7.1
3131
mkdocs==1.4.2
32-
mkdocs-material==8.5.9
32+
mkdocs-material==8.5.10
3333
mkdocs-exclude-search==0.6.4
3434
mkdocs-simple-hooks==0.1.5
3535
mkdocs-material-extensions==1.1

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ tomli>=1.2.3;python_version>="3.6" and python_version<"3.7"
1010
tomli>=2.0.1;python_version>="3.7"
1111
tqdm>=4.64.1
1212
wheel>=0.37.1;python_version<"3.7"
13-
wheel>=0.38.3;python_version>="3.7"
13+
wheel>=0.38.4;python_version>="3.7"
1414
attrs>=21.4.0;python_version<"3.6"
1515
attrs>=22.1.0;python_version>="3.6"
1616
PyYAML>=6.0;python_version>="3.6"

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.8.2"
2+
__version__ = "4.8.3"

seleniumbase/console_scripts/sb_install.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,11 @@ def main(override=None, intel_for_uc=None):
229229
else:
230230
invalid_run_command()
231231
if "darwin" in sys_plat:
232-
if "arm" in platform.processor().lower() and not intel_for_uc:
232+
if (
233+
"arm" in platform.processor().lower()
234+
and not intel_for_uc
235+
and int(use_version) > 105
236+
):
233237
file_name = "chromedriver_mac_arm64.zip"
234238
else:
235239
file_name = "chromedriver_mac64.zip"
@@ -396,7 +400,10 @@ def main(override=None, intel_for_uc=None):
396400
file_name = "edgedriver_win32.zip"
397401
suffix = "WINDOWS"
398402
elif "darwin" in sys_plat:
399-
if "arm" in platform.processor().lower():
403+
if (
404+
"arm" in platform.processor().lower()
405+
and int(use_version) > 104
406+
):
400407
file_name = "edgedriver_mac64_m1.zip"
401408
else:
402409
file_name = "edgedriver_mac64.zip"

seleniumbase/translate/chinese.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,19 @@ def 如果可见请单击(self, *args, **kwargs):
3232
# click_if_visible(selector, by=By.CSS_SELECTOR)
3333
return self.click_if_visible(*args, **kwargs)
3434

35+
def JS如果存在请单击(self, *args, **kwargs):
36+
# js_click_if_present(selector, by=By.CSS_SELECTOR)
37+
return self.js_click_if_present(*args, **kwargs)
38+
3539
def 单击链接文本(self, *args, **kwargs):
3640
# click_link_text(link_text)
3741
return self.click_link_text(*args, **kwargs)
3842

43+
def 鼠标点击偏移(self, *args, **kwargs):
44+
# click_with_offset(selector, x, y, by=By.CSS_SELECTOR,
45+
# mark=None, timeout=None, center=None)
46+
return self.click_with_offset(*args, **kwargs)
47+
3948
def 更新文本(self, *args, **kwargs):
4049
# update_text(selector, text)
4150
return self.update_text(*args, **kwargs)
@@ -180,6 +189,10 @@ def 等待属性(self, *args, **kwargs):
180189
# wait_for_attribute(selector, attribute, value)
181190
return self.wait_for_attribute(*args, **kwargs)
182191

192+
def 等待页面加载完成(self, *args, **kwargs):
193+
# wait_for_ready_state_complete()
194+
return self.wait_for_ready_state_complete(*args, **kwargs)
195+
183196
def (self, *args, **kwargs):
184197
# sleep(seconds)
185198
return self.sleep(*args, **kwargs)

seleniumbase/translate/dutch.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,19 @@ def klik_indien_zichtbaar(self, *args, **kwargs):
3232
# click_if_visible(selector, by=By.CSS_SELECTOR)
3333
return self.click_if_visible(*args, **kwargs)
3434

35+
def js_klik_indien_aanwezig(self, *args, **kwargs):
36+
# js_click_if_present(selector, by=By.CSS_SELECTOR)
37+
return self.js_click_if_present(*args, **kwargs)
38+
3539
def klik_linktekst(self, *args, **kwargs):
3640
# click_link_text(link_text)
3741
return self.click_link_text(*args, **kwargs)
3842

43+
def klik_op_locatie(self, *args, **kwargs):
44+
# click_with_offset(selector, x, y, by=By.CSS_SELECTOR,
45+
# mark=None, timeout=None, center=None)
46+
return self.click_with_offset(*args, **kwargs)
47+
3948
def tekst_bijwerken(self, *args, **kwargs):
4049
# update_text(selector, text)
4150
return self.update_text(*args, **kwargs)
@@ -180,6 +189,10 @@ def wachten_op_attribuut(self, *args, **kwargs):
180189
# wait_for_attribute(selector, attribute, value)
181190
return self.wait_for_attribute(*args, **kwargs)
182191

192+
def wacht_tot_de_pagina_is_geladen(self, *args, **kwargs):
193+
# wait_for_ready_state_complete()
194+
return self.wait_for_ready_state_complete(*args, **kwargs)
195+
183196
def slapen(self, *args, **kwargs):
184197
# sleep(seconds)
185198
return self.sleep(*args, **kwargs)

seleniumbase/translate/french.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,19 @@ def cliquer_si_affiché(self, *args, **kwargs): # noqa
3232
# click_if_visible(selector, by=By.CSS_SELECTOR)
3333
return self.click_if_visible(*args, **kwargs)
3434

35+
def js_cliquer_si_présent(self, *args, **kwargs):
36+
# js_click_if_present(selector, by=By.CSS_SELECTOR)
37+
return self.js_click_if_present(*args, **kwargs)
38+
3539
def cliquer_texte_du_lien(self, *args, **kwargs):
3640
# click_link_text(link_text)
3741
return self.click_link_text(*args, **kwargs)
3842

43+
def cliquer_emplacement(self, *args, **kwargs):
44+
# click_with_offset(selector, x, y, by=By.CSS_SELECTOR,
45+
# mark=None, timeout=None, center=None)
46+
return self.click_with_offset(*args, **kwargs)
47+
3948
def modifier_texte(self, *args, **kwargs):
4049
# update_text(selector, text)
4150
return self.update_text(*args, **kwargs)
@@ -180,6 +189,10 @@ def attendre_un_attribut(self, *args, **kwargs):
180189
# wait_for_attribute(selector, attribute, value)
181190
return self.wait_for_attribute(*args, **kwargs)
182191

192+
def attendre_que_la_page_se_charge(self, *args, **kwargs):
193+
# wait_for_ready_state_complete()
194+
return self.wait_for_ready_state_complete(*args, **kwargs)
195+
183196
def dormir(self, *args, **kwargs):
184197
# sleep(seconds)
185198
return self.sleep(*args, **kwargs)

0 commit comments

Comments
 (0)