i have the following code where i want to access a shadow root using selenium: This is working fine when i run this code on my windows computer.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdrivermon.by import By
import time
print(f"Checking Browser driver...")
options = Options()
options.add_argument("start-maximized")
options.add_argument('--log-level=3')
options.add_experimental_option("prefs", {"profile.default_content_setting_values.notifications": 1})
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('excludeSwitches', ['enable-logging'])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('--disable-blink-features=AutomationControlled')
srv=Service()
driver = webdriver.Chrome (service=srv, options=options)
waitWD = WebDriverWait (driver, 10)
link = "="
driver.get (link)
time.sleep(5)
shadowHost = driver.find_element(By.XPATH,'//div[@class="szn-cmp-dialog-container"]')
shadowRoot = shadowHost.shadow_root
time.sleep(5)
shadowRoot.find_element(By.CSS_SELECTOR, 'button[data-testid="cw-button-agree-with-ads"]').click()
input("Finished!")
But when i try to run this on my Mac-computer i get this error message:
(selenium) PolziMacs-Mini:readingmadness polzimac$ python test.py
Checking Browser driver...
Traceback (most recent call last):
File "/Users/polzimac/Documents/DEV/Fiverr2025/TRY/readingmadness/test.py", line 25, in <module>
shadowRoot = shadowHost.shadow_root
File "/Users/polzimac/Documents/DEV/venv/selenium/lib/python3.9/site-packages/selenium/webdriver/remote/webelement.py", line 325, in shadow_root
return self._execute(Command.GET_SHADOW_ROOT)["value"]
File "/Users/polzimac/Documents/DEV/venv/selenium/lib/python3.9/site-packages/selenium/webdriver/remote/webelement.py", line 570, in _execute
return self._parent.execute(command, params)
File "/Users/polzimac/Documents/DEV/venv/selenium/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 429, in execute
self.error_handler.check_response(response)
File "/Users/polzimac/Documents/DEV/venv/selenium/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
raise exception_class(message, screen, stacktrace)
seleniummon.exceptions.NoSuchShadowRootException: Message: no such shadow root
(Session info: chrome=128.0.6613.138)
Stacktrace:
0 chromedriver 0x000000010e33c338 chromedriver + 5096248
1 chromedriver 0x000000010e333b6a chromedriver + 5061482
2 chromedriver 0x000000010debee01 chromedriver + 388609
3 chromedriver 0x000000010df0062a chromedriver + 656938
4 chromedriver 0x000000010df2fef2 chromedriver + 851698
5 chromedriver 0x000000010df00288 chromedriver + 656008
6 chromedriver 0x000000010df300ae chromedriver + 852142
7 chromedriver 0x000000010df4d250 chromedriver + 971344
8 chromedriver 0x000000010df2fc93 chromedriver + 851091
9 chromedriver 0x000000010defec79 chromedriver + 650361
10 chromedriver 0x000000010deff49e chromedriver + 652446
11 chromedriver 0x000000010e2ff0b0 chromedriver + 4845744
12 chromedriver 0x000000010e303fc8 chromedriver + 4865992
13 chromedriver 0x000000010e304695 chromedriver + 4867733
14 chromedriver 0x000000010e2e1ce9 chromedriver + 4725993
15 chromedriver 0x000000010e304989 chromedriver + 4868489
16 chromedriver 0x000000010e2d3c04 chromedriver + 4668420
17 chromedriver 0x000000010e323e68 chromedriver + 4996712
18 chromedriver 0x000000010e324067 chromedriver + 4997223
19 chromedriver 0x000000010e33376e chromedriver + 5060462
20 libsystem_pthread.dylib 0x00007fff6d53b109 _pthread_start + 148
21 libsystem_pthread.dylib 0x00007fff6d536b8b thread_start + 15
Why is this only working on Windows and not on Mac? Do i have to change something in the code so it is also working on Mac?