la commutation de fenêtre Selenium 2: Java
-
09-10-2019 - |
Question
Salut au fond, je suis en train de passer à une fenêtre puis appuyez sur une bouton sur cette fenêtre, mais de somereaon Je reçois erros.
Voici un exemple de la page Web
http://i42.photobucket.com/albums/e326/limpep/ example.png
et voici mon 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 que je reçois
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.awt.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)
Cordialement
La solution
Tout d'abord, vous n'êtes probablement pas à la fenêtre de commutation correcte. Vous itérez toutes les fenêtres et le passage à la première qui pourrait être votre fenêtre principale.
Si la fenêtre pop-up est créé par window.createPopup()
alors vous ne serez pas en mesure de passer à elle - ces fenêtres ne sont pas pris en charge par Sélénium 2. Il y a des progrès dans sa mise en œuvre - voir http://code.google.com/p/selenium/issues/detail?id=27
Autres conseils
Je remarque que l'identifiant que vous recherchez est « ButtonCancle ». Il y a une faute d'orthographe là. Est-il possible que vous devriez rechercher « ButtonCancel »?