使用 Selenium 关闭网页上的第一个弹出窗口
Closing the first pop up on a webpage with Selenium
您好,我是 Selenium 的新手,正在尝试在网页上进行一些自动化操作。当它第一次加载时,会显示一个弹出窗口 window。当我检查元素时,关闭按钮显示如下
<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()
此代码找不到元素,不会关闭弹出窗口。谁能帮帮我?
要单击所需的元素,您可以使用以下任一方法 :
使用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()
理想情况下,要单击需要为 element_to_be_clickable()
引入 WebDriverWait 的元素,您可以使用以下任一方法 :
使用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
您好,我是 Selenium 的新手,正在尝试在网页上进行一些自动化操作。当它第一次加载时,会显示一个弹出窗口 window。当我检查元素时,关闭按钮显示如下
<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()
此代码找不到元素,不会关闭弹出窗口。谁能帮帮我?
要单击所需的元素,您可以使用以下任一方法
使用
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()
理想情况下,要单击需要为 element_to_be_clickable()
引入 WebDriverWait 的元素,您可以使用以下任一方法
使用
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