По сути, я хочу получить доступ к кнопке, которая появляется во всплывающем окне предварительного просмотра, который является элементом shadow dom. Я пробовал некоторые решения, которые я нашел в отношении stackoverflow, но они не работали, так же, как текущий код, из которого я пытаюсь создать, а именно:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
def expand_shadow_root(element):
shadow_root = driver.execute_script("return arguments[0].shadowRoot", element)
return shadow_root
root1 = driver.find_element_by_tag_name("print-preview-button-strip")
shadow_root1 = expand_shadow_root(root1)
btn = shadow_root1.find_element_by_xpath("/html/body/print-preview-app//print-preview-sidebar//print-
preview-button-strip//cr-button[1]")
wait.until((EC.element_to_be_clickable(By.XPATH,"/html/body/print-preview-app//print-preview-
sidebar//print-preview-button-strip//cr-button[1]")))
btn.click()
Inspect Element print