java selenium 操作彈出窗口示例代碼
selenium 中如何處理彈出窗口
閱讀目錄
- 原理
- 測試頁面的HTML
- Java 代碼
原理
在代碼里, 通過 Set<String> allWindowsId = driver.getWindowHandles();
來獲取到所有彈出瀏覽器的句柄, 然后遍歷, 使用swithcto.window(newwindow_handle)方法。 就可以定位到新的窗口
測試頁面的HTML
<html>
<head>
<title>常見web ui元素操作, 及API使用</title>
<script type="text/javascript">
function open_win()
{
window.open("http://www.cnblogs.com")
}
</script>
</head>
<body>
<form>
<input type=button value="打開窗口" onclick="open_win()">
</form>
</div>
</body>
</html>
Java 代碼
public static void testMultipleWindowsTitle(WebDriver driver) throws Exception
{
String url="E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\Selenium Webdriver\\AllUIElement.html";
driver.get(url);
// 獲取當(dāng)前窗口的句柄
String parentWindowId = driver.getWindowHandle();
System.out.println("driver.getTitle(): " + driver.getTitle());
WebElement button = driver.findElement(By.xpath("http://input[@value='打開窗口']"));
button.click();
Set<String> allWindowsId = driver.getWindowHandles();
// 獲取所有的打開窗口的句柄
for (String windowId : allWindowsId) {
if (driver.switchTo().window(windowId).getTitle().contains("博客園")) {
driver.switchTo().window(windowId);
break;
}
}
System.out.println("driver.getTitle(): " + driver.getTitle());
// 再次切換回原來的父窗口
driver.switchTo().window(parentWindowId);
System.out.println("parentWindowId: " + driver.getTitle());
}
以上就是關(guān)于Java selenium 操作彈窗窗口的示例,后續(xù)繼續(xù)整理相關(guān)資料,謝謝大家對本站的支持!
相關(guān)文章
IntelliJ IDEA 2020.2 配置大全詳細(xì)圖文教程(更新中)
這篇文章主要介紹了IntelliJ IDEA 2020.2 配置大全(更新中),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
idea hibernate jpa 生成實體類的實現(xiàn)
這篇文章主要介紹了idea hibernate jpa 生成實體類的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
SpringBoot整合Thymeleaf與FreeMarker視圖層技術(shù)
在目前的企業(yè)級應(yīng)用開發(fā)中,前后端分離是趨勢,但是視圖層技術(shù)還占有一席之地。Spring Boot 對視圖層技術(shù)提供了很好的支持,福安防推薦使用的模板引擎是Thymeleaf,不過想FreeMarker也支持,JSP技術(shù)在這里并不推薦使用2022-08-08
使用自定義注解+springAop實現(xiàn)參數(shù)非空校驗方式
這篇文章主要介紹了使用自定義注解+springAop實現(xiàn)參數(shù)非空校驗方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
Swagger實現(xiàn)動態(tài)條件注入與全局?jǐn)r截功能詳細(xì)流程
這篇文章主要介紹了Swagger實現(xiàn)動態(tài)條件注入與全局?jǐn)r截功能詳細(xì)流程,Swagger 可以提供 API 操作的測試文檔,本文記錄 Swagger 使用過程中遇到的小問題2023-01-01

