2016-01-15 30 views
0

下圖顯示了在單擊「隨機用戶」文本時出現的彈出窗口; WD無法將其重點轉移到您看到的彈出窗口。使用Selenium處理AngularJS彈出窗口WD

Please check the picture here

下面是我在

帶有註釋的各種試驗碼中採用的代碼
public static void teardownAppRetrieveOnce() throws InterruptedException { 
    synchronized(obj){ 
     obj.wait(2000); 
     driver.findElement(By.xpath(".//*[@id='sidebar']/nav/ul[2]/li[3]/button[1]/span/span")).click(); 
     System.out.println("Clicked sidebar.."); 
     obj.wait(2000); 
     String winHandleBefore = driver.getWindowHandle(); 
     **driver.switchTo().window(winHandleBefore); 
     driver.switchTo().findElement(By.id(".//*[@id='logoutButton']")).click();** 
     ***driver.switchTo().activeElement().findElement(By.id(".//*[@id='logoutButton']")).click();*** 
     System.out.println("Clicked on logout"); 
     obj.wait(2000); 
     driver.switchTo().alert().accept(); 
     obj.wait(2000); 
     System.out.println("Logged out..."); 
    } 
} 

請幫助如果這樣的彈出式指獨立的新窗口或幀將被處理我澄清?

注:

  • **意味着我嘗試失敗
  • 第一個解決方案***表示第二個解決方案我想,太失敗了
+0

嗨,好有HTML代碼,知道它是什麼 –

+0

任何網站,提供這種類型的彈出窗口,使我們可以幫助您。 –

回答

0

我有很多的麻煩與WebDriver/AngularJS。有時,本地硒方法WebElement工作 - 有時不。最好的解決方案是在網頁上執行原始的Javascript。

我你的情況,這將是這樣的:

driver.executeScript("$x(\".//*[@id='logoutButton']\")[0].click()"); 
相關問題