1

テストセッションですべてのタイプのブラウザを実行しようとしていましたが、残念なことにIEが含まれています。ブラウザウィンドウは完全に正常に初期化されますが、Seleniumでサイズを変更しようとすると、すぐに "NoSuchWindowException"がスローされます。IE11ブラウザウィンドウの初期化後に、NoSuchWindowExceptionがスローされる

// Set path for Internet Explorer Driver executable 
    System.setProperty("webdriver.ie.driver", "./IEDriverServer.exe"); 

    // Launch InternetExplorerDriver 
    DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); 
    capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 
    driver = new InternetExplorerDriver(capabilities); 

    driver.get(address); 

    Toolkit toolkit = Toolkit.getDefaultToolkit(); 
    int Width = (int) toolkit.getScreenSize().getWidth(); 
    int Height = (int)toolkit.getScreenSize().getHeight(); 
    System.out.println(driver.toString()); 
    driver.manage().window().setSize(new Dimension(Width,Height)); 

私はもともとwebdriverをのサイズを変更する

driver.manage().window().maximize(); 

を使用していたが、それは、私は、ツールキットに切り替え問題の原因と思われたとき。それ以上の点検で、私はそれが実際に何らかの未知の理由のために運転手を見つけていないことを発見した。

もう少しスタックオーバーフロー検索の後でcapabilitiesオブジェクトを追加しましたが、これも機能しませんでした。

IE11保護モードも有効に設定しました。

エラーメッセージ:

Exception in thread "main" org.openqa.selenium.NoSuchWindowException: Error retrieving window with handle current (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 8 milliseconds 
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40' 
System info: host: 'WIN-HHUFCN1FEP8', ip: '127.0.0.1', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_66' 
Driver info: org.openqa.selenium.ie.InternetExplorerDriver 
Capabilities [{browserAttachTimeout=0, ie.enableFullPageScreenshot=true, enablePersistentHover=true, ie.forceCreateProcessApi=false, ie.forceShellWindowsApi=false, pageLoadStrategy=normal, ignoreZoomSetting=false, ie.fileUploadDialogTimeout=3000, version=11, platform=WINDOWS, proxy={proxyType=}, nativeEvents=true, ie.ensureCleanSession=false, elementScrollBehavior=0, ie.browserCommandLineSwitches=, requireWindowFocus=false, browserName=internet explorer, initialBrowserUrl=http://localhost:47406/, javascriptEnabled=true, ignoreProtectedModeSettings=true, enableElementCacheCleanup=true, unexpectedAlertBehaviour=dismiss}] 
Session ID: d01a13ab-53e9-46f6-a19e-00d19ea5f34c 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) 
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) 
    at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.setSize(RemoteWebDriver.java:891) 
    at Testing.Testing.main(Testing.java:124) 
C:\...\NetBeans\Cache\8.1\executor-snippets\debug.xml:83: Java returned: 1 
+0

を含めたsetSize前に、IE11の使用で暗黙の待機をウィンドウを開くと、このコード

をお試しください[セレンの複製 - IE 11のNoSuchWindowException](http://stackoverflow.com/questions/24746777/selenium-nosuchwindowexception-in-ie-11) –

答えて

1

あなたは

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
driver.manage().window().setSize(new Dimension(1024,768)); 

可能
import org.openqa.selenium.Dimension; 
+0

ありがとう!それはうんざりしていました。 –

+0

ああ、それでは成功!楽しい :) –