【问题标题】:Closing the first pop up on a webpage with Selenium使用 Selenium 关闭网页上的第一个弹出窗口
【发布时间】:2021-01-19 17:37:33
【问题描述】:

您好,我是 Selenium 的新手,正在尝试在网页上进行一些自动化操作。当它第一次加载时,会显示一个弹出窗口。当我检查元素时,关闭按钮如下所示

<span title="Close" class="js-close-class offer-close"></span>

我正在尝试使用脚本中的以下代码关闭此弹出窗口:

driver.get("https://www.oddschecker.com/")
driver.implicitly_wait(5)
element = driver.find_element_by_class_name("js-close-class offer-close")
element.click()
time.sleep(10)
driver.quit()

此代码无法找到元素并且不会关闭弹出窗口。谁能帮帮我?

【问题讨论】:

    标签: python selenium-webdriver xpath css-selectors webdriverwait


    【解决方案1】:

    要点击所需元素,您可以使用以下任一Locator Strategies

    • 使用css_selector

      driver.find_element(By.CSS_SELECTOR, "span.js-close-class.offer-close[title='Close']").click()
      
    • 使用xpath

      driver.find_element(By.XPATH, "//span[@class='js-close-class offer-close' and @title='Close']").click()
      

    理想情况下,点击您需要为WebDriverWait 诱导element_to_be_clickable() 的元素,您可以使用以下任一Locator Strategies

    • 使用CSS_SELECTOR

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "span.js-close-class.offer-close[title='Close']"))).click()
      
    • 使用XPATH

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[@class='js-close-class offer-close' and @title='Close']"))).click()
      
    • 注意:您必须添加以下导入:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      相关资源
      最近更新 更多