我尝试向ChromeDriver发送F11,但它没有响应。当我按下F11时,Chrome会变成全屏模式。但是,通过ChromeDriver发送F11时,它却不会进入全屏模式。这对于ChromeDriver中的任何F键都是一样的。它可以在FirefoxDriver和IEDriver中正常工作,但无法在ChromeDriver中执行。有没有办法让ChromeDriver进入全屏模式?
注意:全屏模式与最大化模式不同,因为它会隐藏所有工具栏。
注意:全屏模式与最大化模式不同,因为它会隐藏所有工具栏。
我能够通过使用kiosk模式来解决问题,该模式可以将浏览器保持在全屏状态。
ChromeOptions options = new ChromeOptions();
options.addArguments("--kiosk");
WebDriver driver = new ChromeDriver(options);
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
start-maximized
设置为默认值。 ChromeOptions options = new ChromeOptions();
options.addArguments("--start-fullscreen");
WebDriver driver = new ChromeDriver(options);
如果您使用RemoteWebDriver:
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-fullscreen");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
Instance = new RemoteWebDriver(new URL(<SeleniumServerURL>), capabilities);
driver.manage().window().fullscreen();
我用 Powershell/Selenium 写了这个脚本:
$Driver = Start-SeChrome -Fullscreen -StartUrl "https://........."
这对我来说完美地运作了
String shortcutGoToFullScreen = Keys.chord(Keys.F11);
WebDriver.findElement(By.tagName("body")).sendKeys(shortcutGoToFullScreen);
只有一个问题,即全屏模式在任何页面代码更新后都会变为非全屏模式。因此,应该小心使用)
使用--start-fullscreen
参数指定浏览器应该在全屏模式下启动,就像用户在启动后立即按下F11键一样。
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-fullscreen");
WebDriver driver = new ChromeDriver(options);
您可以通过向ChromeOptions提供参数来根据自己的喜好更改行为。
以下链接详细介绍了参数及其行为。希望能对您有所帮助。
https://peter.sh/experiments/chromium-command-line-switches/#start-fullscreen