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)文章
Java Arrays.AsList原理及用法實(shí)例
這篇文章主要介紹了Java Arrays.AsList原理及用法實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
詳解如何利用jasypt實(shí)現(xiàn)配置文件加密
Jasypt?(Java?Simplified?Encryption)?是一個?java?庫,它允許開發(fā)人員以最小的成本將基本的加密功能添加到項(xiàng)目中,而無需深入了解密碼學(xué)的工作原理。本文將利用jasypt實(shí)現(xiàn)配置文件加密,感興趣的可以學(xué)習(xí)一下2022-07-07
利用Java讀取Word表格中文本和圖片的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于如何利用Java讀取Word表格中文本和圖片的相關(guān)資料,主要利用的是free spire.doc.jar 包,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2021-07-07
妙用Java8中的Function接口消滅if...else
在開發(fā)過程中經(jīng)常會使用if...else...進(jìn)行判斷拋出異常、分支處理等操作。這些if...else...充斥在代碼中嚴(yán)重影響了代碼代碼的美觀,本文就妙用Java8中的Function接口消滅if...else,感興趣的可以了解一下2022-01-01
java中Date和Timestamp類型的相互轉(zhuǎn)換方式
這篇文章主要介紹了java中Date和Timestamp類型的相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
spring boot多數(shù)據(jù)源動態(tài)切換代碼實(shí)例
這篇文章主要介紹了spring boot多數(shù)據(jù)源動態(tài)切換代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01

