Я пытаюсь переключать кадры в Selenium с помощью Xpath, но пока не добился успеха - PullRequest
1 голос
/ 20 июня 2019

Я пытаюсь переключать кадры в Selenium, используя Xpath вместо использования имени кадра.У фрейма нет имени, поэтому я решил, что могу просто использовать Xpath, но я не уверен, что Selenium поддерживает использование Xpath вместо имени.

Это нормальный способ переключения фреймов:

driver.switch_to.frame("WhateverFrame")

Это то, что я пробовал:

driver.switch_to.frame(By.XPath("//*[@id='ui-id-1']/iframe"))

driver.find_frame_by_xpath("//*[@id='ui-id-43']/iframe")

Есть какие-либо предложения о том, как мне изменить свой код, чтобы это заработало?

1 Ответ

0 голосов
/ 20 июня 2019

Вы можете переключиться на кадр, используя различные опции.

driver.switch_to.frame('frame_name')
driver.switch_to.frame(frame_index)
driver.switch_to.frame(element)

Таким образом, в вашем случае вы можете отправить элемент , как показано ниже.

driver.switch_to.frame(driver.find_element_by_xpath("//*[@id='ui-id-43']/iframe"))

ТакжеВы можете сделать следующее, если хотите перейти на первый iframe.

driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...