Селен не смог найти кадр по xpath. Возможность видеть другие кадры - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь использовать селен для автоматизации действий на веб-странице. Селен не может видеть определенный кадр по xpath.

Похоже, на этой веб-странице есть несколько фреймов. Я могу успешно переключиться на один iframe, ввести информацию, переключиться на содержимое по умолчанию, но не могу загрузить следующий iframe. Кадр не имеет идентификатора, но имеет динамическое имя. Поэтому я перехожу на кадр по XPATH. Когда я пытаюсь переключиться на кадр, я получаю исключение тайм-аута.

Здесь я пытаюсь переключиться на iframe с помощью xpath и затем нажать на опцию.

WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, '//*[@id="appMain"]')))

WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="js-navbar-collapse"]/ul/li[4]/a'))).click()

Ниже находится iframe. Снова имя является динамическим, поэтому оно изменится.

<iframe name="/proxy/vrg/index.html?access_token=419bd73d-86db-46a6-be45-8085a2e4c09d?uuid=51f5e319-1033-4ab4-85fe-b398511562fc" src="/proxy/vrg/index.html?access_token=419bd73d-86db-46a6-be45-8085a2e4c09d" class="iframeContainer" style="padding: 5px 0px 0px; border: 0px;"></iframe>

xpath //*[@id="appMain"]/iframe
selector #appMain > iframe

Ниже приведена ошибка, которую я получаю.

Файл "C: \ MyScripts \ testvp.py", строка 35, в WebDriverWait (драйвер, 20) .until (EC.frame_to_be_available_and_switch_to_it ((By.XPATH, '// * [@ id = "appMain"]'))) Файл "C: \ Users \ a034331 \ AppData \ Local \ Continuum \ anaconda3 \ Lib \ сайта-пакеты \ селеном \ WebDriver \ поддержка \ wait.py", линия 80, до повысить TimeoutException (сообщение, экран, трассировка стека) selenium.common.exceptions.TimeoutException: Сообщение:

любая помощь будет оценена

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