2017-05-29 58 views
0

當我點擊某個鏈接時,彈出窗口在新瀏覽器上打開。我想從彈出窗口閱讀短信。這不是一個警報。我如何閱讀信息。我應該使用Java集合嗎?如何從彈出窗口中讀取文本消息,該消息在新瀏覽器中打開?

+0

你試過driver.getWindowHandles試試? –

+0

@SarikaGharage您能否考慮向我們展示您的工作,研究,相關的HTML DOM以及用於進一步分析的錯誤堆棧跟蹤?謝謝 – DebanjanB

+0

String currentWindow = driver.getWindowHandle(); \t \t設置 WinID2 = driver.getWindowHandles(); \t \t WinID2.remove(currentWindow); \t \t String [] handlesArray2 = WinID2.toArray(new String [WinID2.size()]); ();。();。();。 \t \t \t driver.switchTo()。window(currentWindow); \t \t Thread.sleep(5000);通過使用上面的代碼,我可以在新瀏覽器上看到彈出窗口。但是,如何在CONSOL中顯示彈出式窗口文本消息。 – Sgharage

回答

0

一旦你能夠切換到所需的窗口我。即新打開的瀏覽器窗口,可以通過查找WebElement使用tagName作爲body,然後調用getText()方法來從該窗口獲取文本。下面是一個示例代碼來實現這一目標:

Set<String> winHandles = driver.getWindowHandles(); 
Iterator<String> itr = winHandles.iterator(); 

String currentWin = itr.next(); 
String newBrowserWin = null; 
if (itr.hasNext()) 
    newBrowserWin = itr.next(); 

String newBrowserWinText; 
if (newBrowserWin!=null) { 
    driver.switchTo().window(newBrowserWin); 

    newBrowserWinText = driver.findElement(By.tagName("body")).getText(); 
} 

變量newBrowserWinText將包含新開的瀏覽器窗口的文本,一旦你執行上面的代碼。

讓我知道,上面的代碼是否適合你。

0

您可以使用切換到窗口方法並通過獲取窗口句柄將驅動程序焦點移動到新窗口。然後獲取頁面源值或頁面文本。

0

讓這一個

// Store the current window handle 
String winHandleBefore = driver.getWindowHandle(); 

// Perform the click operation that opens new window 

// Switch to new window opened 
for(String winHandle : driver.getWindowHandles()){ 
    driver.switchTo().window(winHandle); 
} 

// Get the text message from popup window 

// Close the new window, if that window no more required 
driver.close(); 
相關問題