これはSeleniumのmy other recent questionに関連しています(この問題はFirefox固有の問題に関するものでした。特有の問題)。NoSuchWindowException - 他の回答の設定アドバイスにもかかわらず、IE上のSeleniumで閉じたウィンドウの要素を見つけることができません。
基本的に、私はリンクをクリックシミュレートするために、次のコード
ieDriver.Navigate().GoToUrl("http://localhost:51282");
IWebElement linkToAboutPage = ieDriver.FindElement(By.Id("test"));
linkToAboutPage.Click();
を実行したときに、それが成功したページに移動しますが、それは実際の要素を取得しようとすると、私は次の例外を取得:
をAn exception of type 'OpenQA.Selenium.NoSuchWindowException' occurred in WebDriver.dll but was not handled in user code
Additional information: Unable to find element on closed window
this question sの受け入れ答えIEセキュリティ設定の[保護モードを有効にする]がすべて選択されているか、選択されていないかのいずれかを選択してください。確かに、私はこれらの設定を見ると、「保護モードを有効にするには、」イントラネットのためではなく、他人のために選択されていない:
残念ながら、スクリーンショットが示すように、それは私の企業のIT部門によって管理されていますし、私はしませんよ私が設定を変更できるように彼らに説得する運がたくさんあることを確かめてください。私はまた、いくつかの他の回答によって示唆された方法で私のレジストリを編集することもできませんでした(おそらく、管理者権限がないためです)。
私が見てきた他のソリューションのいくつかは、true
にIntroduceInstabilityByIgnoringProtectedModeSettings
を設定InitialBrowserUrl
を提供する、またはtrue
へEnsureCleanSession
を設定します。以下に示すように、私は現在、これらすべてのことを行っています。
var ieOptions = new InternetExplorerOptions()
{
InitialBrowserUrl = "http://www.google.com",
IntroduceInstabilityByIgnoringProtectedModeSettings = true,
IgnoreZoomLevel = true,
EnableNativeEvents = true,
EnsureCleanSession = true
};
ieDriver = new InternetExplorerDriver(ieOptions);
ieDriver.Manage().Timeouts().ImplicitWait = new TimeSpan(0, 0, 10);
しかし、私はまったく同じ問題を抱えています。
企業のITにポリシーの例外を尋ねる私には関係しない他の試みがありますか?私は(私は私のテストのほとんどをするつもり場所それはだから、問題がある)localhost
上で実行しているとき
はおそらく大幅に、こののみが起こります。