- count0
- Posts : 1
Join date : 2012-10-17
Loosing the window handle after driver.Navigate() call
Wed Oct 17, 2012 6:24 am
For some reason I'm loosing the window handle after calling driver.Navigate().GoToUrl(...). I cannot figure out why this works in tutorials and in other automation but not this simple program:
class bingCheese
{
static void Main(string[] args)
{
IWebDriver driver = new InternetExplorerDriver(@"C:\selenium-dotnet-2.25.1");
foreach (String handle in driver.WindowHandles)
{
System.Console.WriteLine(" " + handle);
}
System.Console.WriteLine("current title : " + driver.Title);
driver.Navigate().GoToUrl();
foreach (String handle in driver.WindowHandles)
{
System.Console.WriteLine(" " + handle);
}
Thread.Sleep(5000);
foreach (String handle in driver.WindowHandles)
{
System.Console.WriteLine(" " + handle);
}
System.Console.WriteLine("current title : " + driver.Title);
//------------------
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(delegate(IWebDriver d) { return d.FindElement(By.Id("sb_form")); });
....
}
}
The IE(9) window opens and goes to the expected url. After going to the url, though, the driver object can't find the window. By the time execution gets to the foreach statement after the driver.Navigate... statement debug info shows that the currentWindowHandle has thrown a OpenQA.Selenium.NoSuchWindowException. Execution actually gets past ththe sleep and foreach statements, then throws the exception on the second driver.Title print to the console.
Console output is:
Started InternetExplorerDriver server (64-bit)
2.25.3.0
Listening on port 55242
d631a42f-3669-411b-a53c-cb54aea5262a
current title : WebDriver
class bingCheese
{
static void Main(string[] args)
{
IWebDriver driver = new InternetExplorerDriver(@"C:\selenium-dotnet-2.25.1");
foreach (String handle in driver.WindowHandles)
{
System.Console.WriteLine(" " + handle);
}
System.Console.WriteLine("current title : " + driver.Title);
driver.Navigate().GoToUrl(
foreach (String handle in driver.WindowHandles)
{
System.Console.WriteLine(" " + handle);
}
Thread.Sleep(5000);
foreach (String handle in driver.WindowHandles)
{
System.Console.WriteLine(" " + handle);
}
System.Console.WriteLine("current title : " + driver.Title);
//------------------
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(delegate(IWebDriver d) { return d.FindElement(By.Id("sb_form")); });
....
}
}
The IE(9) window opens and goes to the expected url. After going to the url, though, the driver object can't find the window. By the time execution gets to the foreach statement after the driver.Navigate... statement debug info shows that the currentWindowHandle has thrown a OpenQA.Selenium.NoSuchWindowException. Execution actually gets past ththe sleep and foreach statements, then throws the exception on the second driver.Title print to the console.
Console output is:
Started InternetExplorerDriver server (64-bit)
2.25.3.0
Listening on port 55242
d631a42f-3669-411b-a53c-cb54aea5262a
current title : WebDriver
- ashish_techieAmateur
- Posts : 73
Join date : 2011-08-09
Re: Loosing the window handle after driver.Navigate() call
Wed Oct 31, 2012 12:51 am
Try using driver.get()
or use javascript to navigate with windows.location command
Regards
Ashish
For selenium tutorials:
www.qtpselenium.com/selenium-tutorials
or use javascript to navigate with windows.location command
Regards
Ashish
For selenium tutorials:
www.qtpselenium.com/selenium-tutorials
- how can call this class "x-window-header x-window-header-noborder x-unselectable x-window-draggable" from webdriver
- Cannot navigate to a HTML modal window using Selenium Webdriver
- How to handle the firefox download window to download the files using selenium web driver?
- how to switch to popup window without window id
- how to select(get focus on) new window after clicking link in existing window
Permissions in this forum:
You cannot reply to topics in this forum
|
|