第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

切換到任意新窗口

切換到任意新窗口

紅顏莎娜 2023-08-09 14:58:12
我正在使用硒編寫代碼。在一次特定的點擊中,有可能出現(xiàn)兩個窗口之一。兩個窗口大約需要 20-50 秒才會出現(xiàn)。所以我想切換到出現(xiàn)的任何窗口。我無法預測哪個窗口將出現(xiàn) 當前進程 - 我正在搜索主窗口幾秒鐘,如果找不到它,我將嘗試搜索帶有“確定”按鈕的小彈出窗口。如果找到,請單擊它。如果再次找不到,請嘗試查找主窗口,這需要時間。如果我有辦法切換到最新窗口并通過檢查其標題是哪個窗口并執(zhí)行適當?shù)牟僮?。編?- 主窗口不是原始窗口。圖中一共有3個窗戶。一個我必須點擊的窗口?,F(xiàn)在,單擊主窗口后可以出現(xiàn),或者可以使用“確定”按鈕出現(xiàn)小彈出窗口。
查看完整描述

4 回答

?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

在執(zhí)行任何操作之前,您應該保存主窗口的窗口句柄。

String mainWindow = driver.getWindowHandle();

現(xiàn)在單擊并執(zhí)行以下操作:

您最多可以輪詢 30 秒,間隔為 5 秒,一旦獲得多個窗口句柄,就中斷輪詢。

Set<String> windows = driver.getWindowHandles();

讓我知道您使用哪種語言。

我可以幫你寫代碼。


查看完整回答
反對 回復 2023-08-09
?
慕娘9325324

TA貢獻1783條經(jīng)驗 獲得超4個贊

你可以嘗試這樣的方法來解決你的問題


// Store the current window handle

String mainWin = driver.getWindowHandle();


// Perform the click operation that opens new window


//Wait till driver.getWindowHandles() returns 2 windows


// Switch to new window opened

for(String winHandle : driver.getWindowHandles()){

    driver.switchTo().window(winHandle);

}

//Get current window to take decision on the next actions

String currentWin= driver.getWindowHandle();


// Perform the actions on new window


// Close the new window

driver.close();


// Switch back to original first window

driver.switchTo().window(mainWin);


查看完整回答
反對 回復 2023-08-09
?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

您可以使用 Javascript 來切換窗口:下面是代碼:


((JavascriptExecutor)LoginDriver).executeScript("window.open('about:blank', '-blank')");

    // To switch to the new tab

  ArrayList<String> tabs = new ArrayList<String>(LoginDriver.getWindowHandles());

  LoginDriver.switchTo().window(tabs.get(1));


查看完整回答
反對 回復 2023-08-09
?
狐的傳說

TA貢獻1804條經(jīng)驗 獲得超3個贊

要處理窗口大小,您可以使用.getWindowHandles(),并嘗試使用while loop等待新窗口出現(xiàn),然后您可以再次迭代所有當前窗口。


int sizeBefore = driver.getWindowHandles().size();

elemnt.click();//to bring up new windows


//until current windows size>before, please keep adding timeout

while(driver.getWindowHandles().size()==sizeBefore) {

    //wait in milliseconds

    Thread.sleep(500);

}


//handle current size windows

ArrayList<String> hnds = new ArrayList<String> (driver.getWindowHandles());


//iteration windows

for(String hnd: hnds) {

    driver.switchTo().window(hnd);

    System.out.println(driver.getTitle());

}

要切換到特定窗口,請使用:


driver.switchTo().window(hnds.get(index));


查看完整回答
反對 回復 2023-08-09
  • 4 回答
  • 0 關(guān)注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號