1

對於我的web應用程序,我需要打開gmail帳戶並從郵件中隨機生成一個字符串密碼並將其複製到我的門戶上。 問題是我使用Gmail帳戶在我的webapp中登錄。因此,當我在另一個窗口中打開Gmail時,它的會話已經啓動,直接收件箱頁面打開,我無法將焦點轉移到此頁面,因爲其標題是動態的,如「收件箱(38) - [email protected] - MiniOrange郵件「取決於待處理的消息。在不使用標題的情況下在硒中選擇窗口

我需要一種方法來選擇我的窗口而不使用它的標題。

回答

2

該解決方案將與任意數量的popus

String parentWindow = driver.getWindowHandle(); 
Set<String> windowHandles = driver.getWindowHandles(); 
Iterator<String> iterator = windowHandles.iterator(); 
while (iterator.hasNext()) { 
    String handle = iterator.next(); 
    if (!handle.contains(parentWindow)) { 
     // Switch to popup 
     driver.switchTo().window(handle); 
     // Do something   
    } 
} 
// Switch back to parentWindow 
driver.switchTo().window(parentWindow); 
4

這已被討論過很多次的工作;除非您爲電子郵件公司工作,否則不要嘗試自動化Gmail或任何其他Web瀏覽器!

如果您需要檢查電子郵件已發送,驗證內容或提取數據以繼續流程,則它本質上不穩定並且更好地使用電子郵件API。

https://groups.google.com/forum/m/#!msg/selenium-users/8jR6Fw5ndxU/7peVDuzkNN4J

+0

我對此有點新鮮。你能否給我一些指導,說明如何從電子郵件中提取信息? – rkj

+0

http://sellotapetest.blogspot.fr/2012/12/page-objectswhy-not-email-objects.html –

相關問題