Полноэкранный режим не работает в безголовом режиме селена - PullRequest
0 голосов
/ 17 апреля 2019

Например, мне нужно проверить, включен ли полноэкранный режим или нет после нажатия значка «Полноэкранный режим» на YouTube.

Когда мы запускаем скрипт в пользовательском интерфейсе, мы можем проверить с помощью выполнения этого скрипта «document.fullscreenElement». Это работает.

Но мне нужно запустить то же самое в режиме без головы Он возвращает ноль, и я проверил с использованием снятия скриншота.

Возможно ли это в режиме без головы?

Я написал скрипт в "ruby", используя "selenium-webdriver".

Ниже скрипт успешно работает в режиме пользовательского интерфейса. Но когда мы используем безглавый доступ к chromeoptions, он не работает.

require "selenium-webdriver"
driver = Selenium::WebDriver.for :chrome
driver.get("https://youtube.com/<any video url>")
driver.action.move_to(driver.find_element(:css,".ytp-right-controls")).perform
driver.find_element(:css,".ytp-fullscreen-button").click
driver.execute_script('return document.fullscreenElement').nil?

Ответы [ 2 ]

0 голосов
/ 22 апреля 2019

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

0 голосов
/ 18 апреля 2019

Как вы бегаете без головы?Некоторые эмуляторы X, такие как Xvfb, требуют, чтобы вы указали разрешение экрана, иначе приложения не смогут работать в полноэкранном режиме или развернуты.Смотрите этот пример:

export DISPLAY=:1  
Xvfb $DISPLAY -screen 0 1024x768x16 &  
ruby mytest.rb
...