[英]webdriver firefox 7 maximize window
我一直在使用以下示例在我的WebDriver測試中最大化我的窗口,我升級到Firefox 7,並且腳本退出工作。 我沒有得到錯誤,窗口沒有最大化,想知道是否有其他人已經看到這個或知道為什么它不再工作,或其他方式來做它..
我目前的代碼在FireFox 7之前有效......
public static final String MAXIMIZE_BROWSER_WINDOW = "if (window.screen) {window.moveTo(0, 0);window.resizeTo(window.screen.availWidth,window.screen.availHeight);};";
public static Object maximizeBrowserWindow(WebDriver driver) {
return executeJavascript(driver, MAXIMIZE_BROWSER_WINDOW);
}
private static Object executeJavascript(WebDriver driver, String script){
JavascriptExecutor js=(JavascriptExecutor) driver;
return js.executeScript(script);
}
這就是Firefox瀏覽器的工作方式(截至selenium-java-2.25.0 jar):
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
接受的答案中的鏈接不提供解決方案。 這是(在Firefox 11中測試):
String JS_GET_MAX_WIDTH =
"return (window.screen ? window.screen.availWidth : arguments[0]);";
String JS_GET_MAX_HEIGHT =
"return (window.screen ? window.screen.availHeight : arguments[0]);";
Toolkit toolkit = Toolkit.getDefaultToolkit();
int width = ((Long) executor().executeScript(
JS_GET_MAX_WIDTH,
(int)toolkit.getScreenSize().getWidth())).intValue();
int height = ((Long) executor().executeScript(
JS_GET_MAX_HEIGHT,
(int)toolkit.getScreenSize().getHeight())).intValue();
org.openqa.selenium.Dimension screenResolution =
new org.openqa.selenium.Dimension(width, height);
driver.manage().window().setSize(screenResolution);
查詢JavaScript環境,因為它返回相對於瀏覽器當前監視器的值。 Java Toolkit用作后備,因為它返回O / S主監視器的屏幕大小(不一定是您想要的)。 實際的resize方法由WebDriver的Window界面提供。
這是我最終做到這一點,這很好,但似乎是一個黑客。
Set<String> handles = driver.getWindowHandles();
String script = "if (window.screen){var win = window.open(window.location); win.moveTo(0,0);win.resizeTo(window.screen.availWidth,window.screen.availHeight);};";
((JavascriptExecutor) driver).executeScript(script);
Set<String> newHandles = driver.getWindowHandles();
newHandles.removeAll(handles);
driver.switchTo().window(newHandles.iterator().next());
您是否嘗試過使用WebDriverBackedSelenium對象? 我一直在使用selenium對象來最大化瀏覽器窗口。
Selenium selenium = new WebDriverBackedSelenium(driver, url);
selenium.windowMaximize();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.