我試圖將F11發送給ChromeDriver,但是它不響應。當我按F11時,它將Chrome變成全屏模式。當我通過ChromeDriver發送F11時,它不會。對於ChromeDriver中的任何F鍵,這都是一樣的。它適用於FirefoxDriver和IEDriver,但不是ChromeDriver。有什麼辦法可以讓ChromeDriver進入全屏模式嗎?全屏模式下的ChromeDriver
注意:全屏模式與最大化模式不同,因爲它隱藏了所有工具欄。
我試圖將F11發送給ChromeDriver,但是它不響應。當我按F11時,它將Chrome變成全屏模式。當我通過ChromeDriver發送F11時,它不會。對於ChromeDriver中的任何F鍵,這都是一樣的。它適用於FirefoxDriver和IEDriver,但不是ChromeDriver。有什麼辦法可以讓ChromeDriver進入全屏模式嗎?全屏模式下的ChromeDriver
注意:全屏模式與最大化模式不同,因爲它隱藏了所有工具欄。
我能夠使用Kiosk模式,這使瀏覽器全屏
ChromeOptions options = new ChromeOptions();
options.addArguments("--kiosk");
WebDriver driver = new ChromeDriver(options);
在我的情況下解決這個問題,我解決硒之間的差異webdriver的座標和屏幕絕對座標(根本原因:Chrome標籤頁,標題和地址字段大小由硒.getcoordinate機制忽略)通過這種方式:
String shortcutGoToFullScreen = Keys.chord(Keys.F11);
WebDriver.findElement(By.tagName("body")).sendKeys(shortcutGoToFullScreen);
只有一個問題,那這個全屏模式成爲之後的任何頁面代碼更新不完全。因此,應該謹慎使用)
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);
的參數發生變化:
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
另一種選擇是改變google-的啓動腳本鉻,默認設置爲start-maximized
。
圍繞我爲這個問題所做的工作,就是在啓動鉻之後立即檢查活動窗口標題(使用user32 lib),並且一旦確定它是鉻合金,我將全局觸發本機鍵盤事件F11,因爲鉻焦點,瀏覽器進入全屏模式。 – Johnydep 2012-08-09 13:54:15