SELENIUM PYTHON IFRAME - 接受cookies

问题描述 投票:0回答:1

我希望您能帮助我使用简单/不简单的代码来接受其中一个网站上的 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()
python selenium-webdriver iframe
1个回答
0
投票

没有 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)

© www.soinside.com 2019 - 2024. All rights reserved.