Я пытаюсь использовать селен для автоматизации действий на веб-странице. Селен не может видеть определенный кадр по 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: Сообщение:
любая помощь будет оценена