例如,单击youtube中的“全屏”图标后,我需要检查是否启用了全屏。
当我们在UI中运行脚本时,可以使用执行此“ document.fullscreenElement”脚本进行检查。这是工作。
但是我需要在无头模式下运行相同的命令。它返回null,我已经使用截图进行了检查。
在无头模式下有可能吗?
我已经使用“ selenium-webdriver”在“ ruby”中编写了一个脚本。
以下脚本已成功在UI模式下运行。但是,当我们将-headless用于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?
答案 0 :(得分:0)
您如何奔跑?某些X模拟器(例如Xvfb)要求您指定显示分辨率,否则应用将无法全屏显示或最大化。参见以下示例:
export DISPLAY=:1
Xvfb $DISPLAY -screen 0 1024x768x16 &
ruby mytest.rb
答案 1 :(得分:0)
Chrome在其本机无头模式下不支持全屏模式,因为它并不真正了解屏幕。您可以将其调整为任意大小,但不会全屏显示。