Вопрос-ответ

How to switch between frames in Selenium WebDriver using Java

Как переключаться между фреймами в Selenium WebDriver с помощью Java

Я использую java с WebDriver.Мне нужно переключаться между двумя фреймами. Я записал тестовый пример в selenium IDE, и в нем я получил значения как selectFrame relative=top select Frame =middle Frame

Но есть проблема, он не может распознать relative=top и middleFrame. Как я могу решить эту проблему в Selenium WebDriver с Java?

Переведено автоматически
Ответ 1

Метод driver.switchTo().frame() WebDriver принимает один из трех возможных аргументов:


  • Число.



    Выберите фрейм по его индексу (основанному на нуле). То есть, если страница состоит из трех фреймов, первый фрейм будет иметь индекс 0, второй - индекс 1 и третий - индекс 2. Как только фрейм выбран, все последующие вызовы интерфейса WebDriver выполняются для этого фрейма.



  • Имя или идентификатор.



    Выберите фрейм по его имени или идентификатору. Фреймы, расположенные по соответствующим атрибутам name, всегда имеют приоритет над фреймами, соответствующими ID.



  • Ранее найдено WebElement.



    Выберите фрейм, используя его ранее расположенный WebElement.



Получите фрейм по его идентификатору / имени или найдите его по driver.findElement(), и все будет в порядке.

Ответ 2

для переключения на фрейм:

driver.switchTo.frame("Frame_ID");

чтобы снова переключиться на значение по умолчанию.

driver.switchTo().defaultContent();
Ответ 3

Сначала вы должны найти идентификатор фрейма и определить его в WebElement

Например:- WebElement fr = driver.findElementById("id");

Затем переключитесь на фрейм, используя этот код:- driver.switchTo().frame("Frame_ID");

Пример скрипта:-

WebElement fr = driver.findElementById("theIframe");

driver.switchTo().frame(fr);

Then to move out of frame use:- driver.switchTo().defaultContent();
Ответ 4

Вы также можете использовать:

driver.switch_to.frame(0)

(0) является первым iframe в html.

чтобы вернуться к содержимому по умолчанию:

driver.switch_to.default_content()
java selenium-webdriver