我希望您能帮助我使用简单/不简单的代码来接受其中一个网站上的 cookie。弹出窗口位于 iframe 中。我试图弄清楚它,但找不到它不起作用的原因。
我的代码:
import time
import pytest
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
@pytest.fixture
def driver():
driver = webdriver.Chrome()
driver.implicitly_wait(10)
yield driver
driver.quit()
def test_if_cookies_are_accepted(driver):
driver.get('https://diablochairs.com/en/')
wait = WebDriverWait(driver, 10)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, "cmpbox")))
button = driver.find_element(By.CSS_SELECTOR, '#cmpwelcomebtnyes > a')
driver.execute_script("arguments[0].click();", button)
driver.switch_to.parent_frame()
没有 IFRAME。您只需直接单击“接受全部”按钮即可,无需担心任何 IFRAMES。 单击
接受所有cookies按钮的代码:
import time
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()
driver.get("https://diablochairs.com/en/")
driver.maximize_window()
wait = WebDriverWait(driver,10)
wait.until(EC.element_to_be_clickable((By.XPATH, "//span[text()='Accept all']"))).click()
time.sleep(10)