Как получить доступ к размеру окна кадра с Python Selen? - PullRequest
0 голосов
/ 17 октября 2019

В python selenium я выбираю iframe через

frame = driver.find_element(*locator)
driver.switch_to.frame(frame)

, а затем пытаюсь получить доступ к размеру этого iframe. Я попробовал следующее:

frame.get_window_rect()
frame.get_window_size()
frame.contentWindow.get_window_rect()
frame.contentWindow.get_window_size()

, но похоже, что элемент frame не имеет атрибута get_window_rect , nor 'get_window_size и contentWindow. Итак, как получить доступ к размеру элемента iframe / окна / прямоугольника / чего угодно?

Мне нужна эта информация после Я переключился на iframe.

1 Ответ

0 голосов
/ 17 октября 2019

get_window_rect() и get_window_size() - это методы веб-драйвера. У веб-элементов есть свойства rect и size

frame = driver.find_element(*locator)
rect = frame.rect # {'height': 888, 'width': 912}

Обратите внимание, что вы не можете использовать элемент frame после переключения на него, он больше не находится в контексте драйвера и будет выдавать StaleElementReferenceException.

Чтобы получить размер <iframe> после переключения на него, вы можете использовать тег <html>

rect = driver.find_element_by_tag_name('html').rect
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...