Как свернуть окно браузера с селеном? - PullRequest
0 голосов
/ 24 ноября 2018

Я прочитал несколько вопросов, связанных с минимизацией, используя Selenium, но нигде в их документации не говорится, как взаимодействовать с окном, которое было свернуто.Если вы попытаетесь запустить функции set_window_size () или maximize_window () в драйвере после сворачивания браузера, Selenium выдает исключение, сообщающее, что состояние окна недопустимо для этих операций.Мне трудно поверить, что, свернув окно, вы больше не сможете управлять браузером.Кто-нибудь сделал это?

РЕДАКТИРОВАТЬ: Вот мой код: self.driver.minimize_window() self.driver.maximize_window()

И вот обратный откат, который я вижу: Traceback (most recent call last): ... self.browser.maximize_window() File "/home/user/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 737, in maximize_window self.execute(command, params) File "/home/user/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "/home/user/.local/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: failed to change window state to normal, current state is minimized (Session info: chrome=70.0.3538.77) (Driver info: chromedriver=2.41,platform=Linux 4.15.0-39-generic x86_64)

1 Ответ

0 голосов
/ 25 ноября 2018

Нашел ответ при просмотре журналов коммитов: https://github.com/w3c/webdriver/commit/1e1e590542da97f64cf58268940f88aec5ad6697

Решение состоит в том, чтобы вызвать set_window_rect () в драйвере.Это восстановит состояние окна после сворачивания, максимизации или перехода в полноэкранный режим.

РЕДАКТИРОВАТЬ: Большая проблема здесь заключается в том, что используемый мной веб-драйвер не совместим с w3c.Вышеуказанное будет работать только с веб-драйверами w3c.

...