Selenium - изменяет размер окна, когда установлены device_metrics - PullRequest
0 голосов
/ 07 февраля 2020

Кажется, что driver.manage.window.resize_to (...) изменяет размер окна, но фактически не меняет размер области просмотра, если была установлена ​​возможность device_metrics:

      options = Selenium::WebDriver::Chrome::Options.new
      options.add_emulation(device_metrics: { width: 1440 , height: 6000, touch: false })
      (...)
      @driver = Selenium::WebDriver.for :chrome, options: options
      (...)
      driver.manage.window.resize_to(min_width, min_height)
      width  = driver.execute_script("return document.documentElement.clientWidth") # => 1440       
      height = driver.execute_script("return document.documentElement.clientHeight") # => 6000

То же самое не происходит, если возможность не установлена. В этом случае размер окна корректно изменяется.

Также, если браузер не запущен в режиме без головы, окно выглядит странно и совпадает с тем фактом, что Chrome все еще думает, что его размер окна составляет 1440x6000, но фактическое окно, отображаемое на экране, представляет собой только верхнюю левую часть (например, адресная строка разрезана пополам).

Я хотел сделать это так, чтобы можно было сохранить полностраничный снимок экрана, поскольку если он длиннее, чем умещается на экране, driver.manage.window.resize_to не будет изменять размер окна до значения, превышающего ширину экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...