开发者

Selenium 2 window switching: Java

Hi basically I am trying to switch to a popup window then press a button on that popup window but from somereaon I am getting erros.

Here is an example of the webpage

http://i42.photobucket.com/albums/e326/limpep/example.png

and here is my code

 for (String handle : driver.getWindowHandles()) {
                                 driver.switchTo().window(handle);

                               }


                       WebElement clicksa  =
driver.findElement(By.id("ButtonCancle"));
                           clicksa.sendKeys(Keys.ENTER);
                           driver.switchTo().defaultContent();

Errers that i am getting

    Exception in thread "AWT-EventQueue-0" org.openqa.selenium.NoSuchElementException: Unable to find element by id using "Accept Address" (7)
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_21'
Driver info: driver.version: ie
    at org.openqa.selenium.ie.ErrorHandler.verifyErrorCode(ErrorHandler.java:38)
    at org.openqa.selenium.ie.Finder.handleErrorCode(Finder.java:252)
    at org.openqa.selenium.ie.Finder.findElementById(Finder.java:126)
    at org.openqa.selenium.By$1.findElement(By.java:66)
    at org.openqa.selenium.ie.Finder.findElement(Finder.java:240)
    at org.openqa.selenium.ie.InternetExplorerDriver.findElement(InternetExplorerDriver.java:297)
    at com.capscanWebServers.CRMTesting$2.actionPerformed(CRMTesting.java:112)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.aw开发者_如何学运维t.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

Kind Regards


First of all, you are probably not switching to the correct window. You are iterating all windows and switching to the first one which could be your main window.

If the pop-up window is created by window.createPopup() then you will not be able to switch to it - such windows are not supported by Selenium 2. There's some progress in implementing it - see http://code.google.com/p/selenium/issues/detail?id=27


I notice that the id you're searching for is "ButtonCancle". There's a misspelling there. Is it possible that you should be looking for "ButtonCancel"?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜