我正在尝试将 F11 发送到 ChromeDriver,但它没有响应。当我按 F11 时,它会将 Chrome 变成全屏模式。当我通过 ChromeDriver 发送 F11 时,它没有。这对于 ChromeDriver 中的任何 F 键都是相同的。它适用于 FirefoxDriver 和 IEDriver,但不适用于 ChromeDriver。有什么办法可以让 ChromeDriver 进入全屏模式?
注意:全屏模式与最大化模式不同,因为它隐藏了所有工具栏。
我正在尝试将 F11 发送到 ChromeDriver,但它没有响应。当我按 F11 时,它会将 Chrome 变成全屏模式。当我通过 ChromeDriver 发送 F11 时,它没有。这对于 ChromeDriver 中的任何 F 键都是相同的。它适用于 FirefoxDriver 和 IEDriver,但不适用于 ChromeDriver。有什么办法可以让 ChromeDriver 进入全屏模式?
注意:全屏模式与最大化模式不同,因为它隐藏了所有工具栏。
我能够使用信息亭模式解决它,该模式使浏览器保持全屏
ChromeOptions options = new ChromeOptions();
options.addArguments("--kiosk");
WebDriver driver = new ChromeDriver(options);
论据变了:
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
另一种选择是更改 google-chrome 的启动脚本,设置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://........."
这对我来说非常有用
使用--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
在我的例子中,我通过这种方式修复了 selenium webdriver 坐标和屏幕绝对坐标之间的差异(根本原因:chrome 选项卡、标题和地址字段大小被 selenium .getcoordinate 机制忽略):
String shortcutGoToFullScreen = Keys.chord(Keys.F11);
WebDriver.findElement(By.tagName("body")).sendKeys(shortcutGoToFullScreen);
只有一个问题,这种全屏模式在任何页面代码更新后变得不完整。因此,应谨慎使用)