2011-07-08 75 views
1

我在selenium 2中寫了一個測試腳本,需要一個彈出窗口的截圖。彈出窗口是一個pdf。切換焦點到一個彈出窗口,並截圖

點擊該鏈接後,我正在使用的代碼

try { 
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png")); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
} 

進行屏幕截圖,但是,只需要在主頁的一個鏡頭,而不是彈出窗口。有沒有辦法讓硒2,改變焦點到新的彈出窗口,截圖,然後關閉彈出窗口並切換回主窗口?

回答

0

你必須選擇驅動器的焦點像這樣的東西:

String mainWindow = driver.getWindowHandle(); 
for (String handle : driver.getWindowHandles()) { 
    if (!handle.equals(mainWindow)) { 
     driver.switchTo().window(handle) 
     //put your screenshot call here 
     driver.close(); 
     driver.switchTo().window(mainWindow); 
    } 
} 

當然會採取所有其他窗口的截圖,如果你有更多的人。然後你需要知道確切的窗口句柄,並轉向那個。

相關問題