java控制html弹出框,Selenium+java - 弹出框处理
一、彈出框分類:
彈出框分為兩種,一種基于原生JavaScript寫出來的彈窗,另一種是自定義封裝好的樣式的彈出框,本文重點介紹原生JavaScript寫出來的彈窗,另一種彈窗用click()基本就能搞定。
原生JavaScript寫出來的彈窗又分為三種:
alert
confirm
prompt
二、彈窗處理常用方法:
alert/confirm/prompt彈出框操作主要方法有:
driver.switchTo().alert():切換到alert彈出框上
getText():獲取文本值
accept() :點擊"確認"
dismiss() :點擊"取消"或者關閉對話框
send_keys() :輸入文本值 --僅限于prompt,在alert和confirm上沒有輸入框
三、被頁面html源代碼:
彈窗練習案例function checkup() {
if (window.confirm("確定要刪除嗎?")) {
return true;
} else {
return false;
}
}
function welcome() {
var myname = prompt("請輸入你的姓名:");
if (myname != null) {
alert("你好," + myname);
} else {
alert("你好 my friend.");
}
}
刪除按鈕
點擊加入我們
四、alert彈窗處理
具體實例代碼如下:
@Test
public void testAlert() {
driver.get("file:///C:/Users/Administrator/Desktop/popup.html");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.findElement(By.id("alert")).click();
//獲取alert對話框
Alert alert = driver.switchTo().alert();
//獲取對話框文本
String text = alert.getText();
//打印警告對話框內容
System.out.println(text);
//alert對話框屬于警告對話框,我們這里只能接受彈窗
alert.accept();
}
五、confirm彈窗處理
具體實例代碼如下:
@Test
public void testConfirm() {
driver.get("file:///C:/Users/Administrator/Desktop/popup.html");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.findElement(By.id("dialog")).click();
//獲取confirm對話框
Alert alert = driver.switchTo().alert();
//獲取對話框的內容
String text = alert.getText();
//打印對話框的內容
System.out.println(text);
//點擊“確認”按鈕
alert.accept();
# 點擊“取消”按鈕
//alert.dismiss();
}
六、prompt彈窗處理
具體實例代碼如下:
@Test
public void testPrompt() {
driver.get("file:///C:/Users/Administrator/Desktop/popup.html");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.findElement(By.id("welcome")).click();
//獲取prompt對話框
Alert alert = driver.switchTo().alert();
//獲取對話框的內容
String text = alert.getText();
//打印對話框的內容
System.out.println(text);
//在彈框內輸入信息
alert.sendKeys("軟件測試君");
//點擊“確認”按鈕,提交輸入的內容
alert.accept();
}
六、運行結果
Java 學習筆記 (二) Selenium WebDriver Java 彈出框
下面這段實例實現了以下功能: 1. profile使用用戶本地電腦上的 (selenium 3有問題.因為selenium 3把profile復制到一個temp文件夾里,但并不復制回去.所以每次打開仍 ...
自動化測試-12.selenium的彈出框處理
前言 不是所有的彈出框都叫alert,在使用alert方法前,先要識別出到底是不是alert.先認清楚alert長什么樣子,下次碰到了,就可以用對應方法解決. alert\confirm\prompt ...
selenium瀏覽器彈出框alert 操作
1.簡介 在WebDriver中要處理JS生成的alert.confirm以及prompt,需要 switch_to.alert() 來選取(定位)警告彈窗,在對彈窗進行關閉.輸入等信息操作. 2.操 ...
Selenium Webdriver彈出框的種種類型
普通彈出框?div 一般這種?彈出框都屬于dom的一部分,我們查看一下頁面源碼就可以定位到改彈出框了,然后定位下右上角的那個關閉,?這里有id,所以很方便通過 dr.findElement(By.id ...
Selenium Webdriver彈出框 微博分享的內容控制與結果生成
browser.window_handles for i in ugc_url_l: js = 'window.location.href="{}"'.format(i) brow ...
基于Selenium2+Java的UI自動化(6)-操作Alert、confirm、prompt彈出框
alert.confirm.prompt這樣的js對話框在selenium1 時代處理起來比價麻煩,常常要用autoit來幫助處理.而現在webdriver對這些彈出框做了專門的處理,使用seleni ...
自動化測試基礎篇--Selenium彈出框alert
摘自https://www.cnblogs.com/sanzangTst/p/7685304.html ? 不是所有的彈出框都叫alert,在使用alert方法前,先要識別出到底是不是alert.先認 ...
java 彈出選擇目錄框(選擇文件夾),獲取選擇的文件夾路徑
java 彈出選擇目錄框(選擇文件夾),獲取選擇的文件夾路徑 java 彈出選擇目錄框(選擇文件夾),獲取選擇的文件夾路徑:int result = 0;File file = null;String ...
Python+Selenium筆記(九):操作警告和彈出框
#之前發的?driver.switch_to_alert() 這句雖然可以運行通過,但是會彈出警告信息(這種寫法3.x不建議使用) ?改成?driver.switch_to.alert就不會了. (一 ...
隨機推薦
NSObject+YYModel.h
01 - nil Nil NULL NSNull kCFNull ?的區別 參考:http://www.jianshu.com/p/3aaefb3bcf73 02 -?__bridge,__bridg ...
[綜]前景檢測GMM
tornadomeet 前景檢測算法_4(opencv自帶GMM) http://www.cnblogs.com/tornadomeet/archive/2012/06/02/2531705.html ...
Symbol ES6 新增的一種值類型數據,表示一種絕不重復的值
let s1 = Symbol(33); let s2 = Symbol(33); alert(typeof(s1)); //數據類型判斷 // alert(s1.toString()); //可把一 ...
vbs常用代碼
在網上查找資料的時候發現好多經典的vbs代碼收集起來也為了以后學習. VBS播放音樂 Dim wmp Set wmp = CreateObject("WMPlayer.OCX") ...
java面向對象編程--第十一章 異常處理
1.異常:描述出錯信息的對象. 字節碼校驗時,如發生錯誤,則會拋出異常. 2.所有異常的父類是Exception,異常可以捕獲,可以處理. 所有錯誤的父類是Error,錯誤可以捕獲,但不能處理. Th ...
c++特性:指向類成員的指針和非類型類模板參數和函數指針返回值 參數推導機制和關聯型別
一.c++允許定義指向類成員的指針,包括類函數成員指針和類數據成員指針 格式如下: class A { public: void func(){printf("This is a funct ...
基于 HTML5 WebGL 的 3D SCADA 主站系統
這個例子的初衷是模擬服務器與客戶端的通信,我把整個需求簡化變成了今天的這個例子.3D 的模擬一般需要鷹眼來輔助的,這樣找產品以及整個空間的概括會比較明確,在這個例子中我也加了,這篇文章就算是我對這次項 ...
C#-之屬性(2)
1. ? 屬性結合字段和方法得多個方面,對于對象的用戶來說,屬性就像字段(這樣就可以修改屬性值或者訪問),對于類的實現者來說,屬性包括兩個各部分get訪問器(用于讀取屬性)和set訪問器(用于設置屬性 ...
wrk編譯報錯gcc: Command not found
報錯信息如下: 問題原因:沒有安裝gcc 解決辦法: yum -y install gcc+ gcc-c++ 若需升級gcc,則采用如下命令: yum -y update gcc
在n個任意不相同的數中,輸出r個數的組合,并且n和r由鍵盤輸入。
主要是運用遞歸的思想,函數主要兩個參數,point是上一次取到的位置,picked主要記錄在數組b中所取的元素的個數,函數的每一輪遞歸都會取一個數. ? package pack; import ja ...
總結
以上是生活随笔為你收集整理的java控制html弹出框,Selenium+java - 弹出框处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果智能家居—HomeKit,带给您不一
- 下一篇: 认识端口与计算机入侵防范