Selenium Python:弹出窗口上的“关闭”按钮不可交互

2024-05-18 13:58:05 发布

您现在位置:Python中文网/ 问答频道 /正文

似乎无法单击“关闭”按钮来关闭我以前打开过的pup up窗口,以清除它显示的数据。 该按钮具有以下html脚本:

<div class="closebutton" onclick="return hs.close(this)" title="Schließen"></div>

我尝试了以下方法:

driver.find_element_by_xpath("//div[@class='closebutton']").click()

但我得到了一个错误:

Message: element not interactable

有人知道如何使元素可交互吗


Tags: 数据div脚本closereturnhtmlelementthis
1条回答
网友
1楼 · 发布于 2024-05-18 13:58:05

要单击元素,可以使用以下任意一种Locator Strategies

  • 使用css_selector

    driver.find_element_by_css_selector("button.closebutton[title='Schließen']").click()
    
  • 使用xpath

    driver.find_element_by_xpath("//div[@class='closebutton' and @title='Schließen']").click()
    

理想情况下,要单击元素,需要为element_to_be_clickable()诱导WebDriverWait,并且可以使用以下Locator Strategies之一:

  • 使用CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.closebutton[title='Schließen']"))).click()
    
  • 使用XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='closebutton' and @title='Schließen']"))).click()
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

相关问题 更多 >

    热门问题