Hi,
I am not able to get shodowroot element using following code. So how to get shadow root closed element?. Attached html structure screenshot, code snippet and excption. PFA.
Code snippet:
shadowHost = driver.find_element(By.XPATH, "//plugin-iframe")
print(driver.find_elements(By.XPATH, "//plugin-iframe"))
shadowHost.click()
time.sleep(3)
#driver.switch_to.frame(shadowHost)
print(shadowHost)
# shadow_root1 = driver.execute_script('return arguments[0].shadowRoot', shadowHost)
# print(shadow_root1)
shadowRoot = shadowHost.shadow_root
iframeEle = shadowRoot.find_element(By.CSS_SELECTOR, ".sandbox-iframe")
Exception:
File "/Users/nilesh/vsphere-plugin/selenium-automation/src/vpshere_login.py", line 69, in switchToIframe
shadowRoot = shadowHost.shadow_root
^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webelement.py", line 243, in shadow_root
return self._execute(Command.GET_SHADOW_ROOT)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webelement.py", line 394, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 344, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchShadowRootException: Message: no such shadow root
.png?part=0.1&view=1)
--------------
Thanks,
Nilesh