взаимодействие с селеном во всплывающем окне - PullRequest
2 голосов
/ 06 апреля 2019

Мне трудно взаимодействовать с всплывающим всплывающим окном. После запуска следующего кода появляется окно, где я могу сделать некоторые настройки. Я пытаюсь нажать на кнопку отмены выбора всех, что появляется.

from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait

driver.get("https://stats.oecd.org/Index.aspx?DataSetCode=HOUSE_PRICES#")
try:
    customize = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, "customize-icon")))
    print("Customizing")
except TimeoutException:
    print("Loading took too much time!")
selection = driver.find_element_by_id("customize-menu-0")
menu = driver.find_element_by_id("customize-menu-3")
Hover = ActionChains(driver).move_to_element(customize).move_to_element(selection).move_to_element(menu)
driver.execute_script("arguments[0].click()", menu)

Я попытался переключиться на оповещение и переключиться на всплывающие функции, но я чувствую, что то, что появляется на этом сайте, не всплывающее окно или предупреждение.

Любая помощь по доступу и взаимодействию с «всплывающим» меню настройки будет принята с благодарностью. Спасибо!

EDIT: Похоже, что в HTML всплывающая таблица / окно называется iframe, и у нее есть другой html-тег, охватывающий все содержимое. Iframe содержится в элементе пользовательского интерфейса, и в результате я не могу напрямую переключиться на iframe.

1 Ответ

0 голосов
/ 06 апреля 2019

Yesss, работает:)

Добавление к приведенному выше коду и прямая ссылка на идентификатор iframe:

driver.switch_to.frame("DialogFrame")
driver.find_element_by_id("lbtnClear_all").click()

Я могу получить доступ к пункту «отменить выбор всего» и щелкнуть по нему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...