我正在與硒webdriver 2.39的Java工作,我們有應用程序多個'處理'彈出窗口顯示2-5秒,並自動關閉,這是取決於數據。現在,問題是如何處理這個彈出窗口,這個彈出窗口是jQuery彈出窗口。一旦所有這三個彈出窗口都打開並處理數據並自動關閉,我的腳本只能繼續工作。但是,我不能使用等待時間,因爲此腳本用於使用JMeter進行負載測試,因此處理時間可能需要多於或少於5秒。是否有任何方法可以知道彈出窗口是否存在?我在下面給出的示例代碼中使用過,但它只返回父窗口,並且它不能識別jQuery彈出窗口,使用下面給出的代碼我可以得到如果popup存在或不存在,但僅當它不是jQuery彈出窗口。誰能幫我?如何處理多個jQuery彈出與硒webdriver
public void FocusOnWindow() throws Exception{
int i=0;
do {
handles=driver.getWindowHandles();//get all windows
iterator = handles.iterator();
if(iterator.hasNext()){
subWindowHandler = iterator.next();
if(subWindowHandler==null){
i=0;
}else if(subWindowHandler!=null){
if(subWindowHandler!=parentWindowHandler){
popup = true;
i=2;
}
}
}
}while(i<2);
if(popup){
do{
handles=driver.getWindowHandles();
iterator = handles.iterator();
Thread.sleep(500);
if(iterator.hasNext()){
subWindowHandler = iterator.next();
if(subWindowHandler!=parentWindowHandler){
if(subWindowHandler==null){
String source = driver.getPageSource();
if(source==null){
i=2;
}
}
}else {
i=0;
}
//System.out.println("No any other popup.");
}
}while (i<2);
}
}
你能否提供你正在試圖控制網頁的網址是什麼? –
@Barak Manos:好吧,我使用我的公司應用程序,因此無法爲您提供此類詳細信息,但是您可以參考'http://salman-w.googlecode.com/svn/trunk/jquery-ui-dialog/modal -dialog-with-buttons.html'鏈接區別是在彈出窗口中顯示只顯示處理'圖標與消息處理...' –
另外,你可以參考這個鏈接http://malsup.com/jquery/block/#頁面,還有什麼方法可以確定屏幕是否阻止或不在此鏈接中給出? –