我正在寫一個selenium腳本來登錄並創建新郵件,發送它並註銷。但是當我點擊新郵件按鈕時,它會打開一個新窗口。在硒中我如何處理這個問題。我對硒很陌生。請詳細解釋。在Selenium中如何處理新窗口?
1
A
回答
1
http://toolsqa.com/selenium-webdriver/switch-commands/
硒webdriver的切換窗口的命令可以在這裏找到它......
+0
這不是答案應該是一個評論。謝謝 – DebanjanB
0
使用下面的代碼,你必須使用getWindowHandles-我希望它能幫助,讓我知道如果你被卡住其他地方 -
@Test
public void multipleWindows() {
driver.get(URL+"/windows");
driver.findElement(By.cssSelector(".example a")).click();
Object[] allWindows = driver.getWindowHandles().toArray();
driver.switchTo().window(allWindows[0].toString());
Assert.assertNotEquals(driver.getTitle(), "New Window");
driver.switchTo().window(allWindows[1].toString());
Assert.assertEquals(driver.getTitle(), "New Window");
}
}
0
試試看這個代碼,很容易理解。
WebDriver driver = new FirefoxDriver();
driver.get("http://demo.guru99.com/popup.php");
driver.findElement(By.xpath("html/body/p/a")).click();
// return the parent window name as a String
String parentWindow=driver.getWindowHandle();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// Pass a window handle to the other window
for(String childWindow: driver.getWindowHandles())
{
System.out.println("Switch to child window");
//switch to child window
driver.switchTo().window(childWindow);
//find an element and print text of it
WebElement textLabel=driver.findElement(By.xpath("html/body/div[1]/h2"));
System.out.println(" text: "+textLabel.getText());
driver.close();
}
System.out.println("Get back to parent window");
//switch to Parent window
driver.switchTo().window(parentWindow);
//find an element and print text of it
WebElement logotext=driver.findElement(By.xpath("html/body/div[1]/h2"));
System.out.println("text: "+logotext.getText());
driver.close();
}
相關問題
- 1. 在Selenium Webdriver中處理多個窗口
- 2. 在Selenium中處理彈出窗口
- 3. 如何處理selenium IDE中的新窗口選項卡?
- 4. 如何處理從模態窗口上傳文件Selenium WebDriver Java
- 5. 如何處理selenium webdriver中的多重窗口,需要從第二個窗口切換到第三個窗口
- 6. 處理當前窗口並在主窗口中加載新的fxml窗口
- 7. 處理程序在刷新父窗口後彈出窗口
- 8. 如何使用Selenium處理彈出窗口? (「driver.switchTo()窗口(窗口句柄);」沒有一貫的工作)
- 9. 無法處理Selenium Webdriver(Java)中的showModalDialog窗口
- 10. 如何在新窗口中
- 11. 如何在新窗口中
- 12. 如何使用java處理selenium中的瀏覽器通知彈出窗口?
- 13. 如何在Selenium中處理這個StaleElementReferenceException?
- 14. 多窗口處理
- 15. 處理WPF窗口
- 16. 如何處理髮生在子窗口中的父窗口中的JavaScript錯誤?
- 17. Winium.desktop - 處理新桌面窗口
- 18. 如何從批處理文件打開Power Shell窗口到新窗口
- 19. 窗口處理管理器
- 20. 使用父窗口處理程序處理子窗口消息。
- 21. 如何處理在Selenium Webdriver中處理動態元素ID
- 22. 在硒中處理showModalDialog窗口
- 23. 在Java中處理和關閉窗口
- 24. 在PyGTK/GtkBuilder中處理多個窗口
- 25. Selenium webdriver Java處理多於2個子窗口
- 26. 使用Selenium處理瀏覽器彈出窗口
- 27. 如何處理使用MVVM打開和關閉新窗口?
- 28. 如何獲取FireFox新創建的窗口處理程序?
- 29. 我們如何處理使用Selenium Webdriver的瀏覽器彈出窗口
- 30. 如何使用Selenium WebDriver處理Firefox上傳文件窗口 - 爪哇
的[如何處理在硒webdriver的複式窗口,需要從第二到第三窗口切換](https://stackoverflow.com/questions/45455402/how-to-handle-mutliple-windows可能的複製-in-selenium-webdriver-need-to-switch-from-second) – DebanjanB