Почему тип возвращаемых данных для фреймов - WebDriver в Selenium? - PullRequest
0 голосов
/ 27 июня 2018

Почему тип возвращаемого значения для фреймов - веб-драйвер в Selenium. Рассмотрим приведенный ниже код, где драйвер переключается на фрейм. Но почему тип возвращаемого значения - веб-драйвер для приведенного ниже кода.

driver.switchTo().frame(int/string/webelement);

1 Ответ

0 голосов
/ 31 июля 2018

Поскольку драйвер взаимодействует с элементом текущего документа (страницы), а iframe - это отдельный документ, который встроен в другой документ (например, веб-страницу).

Итак, чтобы взаимодействовать с элементом iframe, нам нужно сосредоточиться на этом конкретном фрейме, поэтому он возвращает экземпляр веб-драйвера, который в данный момент сфокусирован.

См. Документ по селену: WebDriver интерфейс

WebDriver frame(int index);

/**
 * Select a frame by its name or ID. Frames located by matching name attributes are always given
 * precedence over those matched by ID.
 *
 * @param nameOrId the name of the frame window, the id of the <frame> or <iframe>
 *        element, or the (zero-based) index
 * @return This driver focused on the given frame
 * @throws NoSuchFrameException If the frame cannot be found
 */
...