2013-06-05 50 views
0

嗨,试图在IE中执行switchTo(new Handle) webdriver的问题SWITCHTO()在IE硒webdriver的

的代码,我使用后发现,在新窗口元素我现在面临的问题后发现元素

WebDriver driver = new InternetExplorerDriver(); 

//some code 

String winHandleBefore = driver.getWindowHandle(); //store the current window handle 

driver.findElement(By.name("element1")).click(); //opens a new window 

//code to find the new window handle 

driver.switchTo().window(NewWindowHandle); //switch to new window 

String url = driver.getCurrentUrl(); //returns me the URL of the newly opened window 

driver.findElement(By.name("element2")).click(); //click on element in new window 

切换窗口后,findElement()无法找到新的元素,而新窗口的URL显示正确。 我也执行了driver.getTitle();,这也给了我新打开的窗口的正确页面标题。

我交叉验证元素属性,这是正确的。

任何人都可以帮助我吗?

+0

是当前任何框架内的新窗口中的元素? – Hemanth

+0

你尝试过等待吗?可能是这个元素需要时间来加载。 – TDHM

+0

@HemChe:没有元素不在框架内。 – preeth

回答

-1

试试这个,它的工作对我来说:

for(String NewWindowHandle:driver.getWindowHandles()) 
{ 
    driver.switchTo().window(NewWindowHandle); //switch to new window 
} 
+0

我不认为这有助于OP;它们在switchTo()调用时没有问题,它试图在switchTo()之后定位元素,这会出错。 –

+0

交换机工作正常。它在新窗口中搜索元素的问题是 – preeth