1. ?通過頁面或者window 的name切換:
- switch_to_frame(name)
- switch_to_window(name)
那么問題來了,出現2個或者以上窗口時候,新打開的window一般都是沒有name,此時可用driver.switchTo().window(windowHandleId)來進行切換
?//獲取當前窗口handleId
String ?thisHandleId =?driver.getWindowHandle(); ?
?
//切換到新window
for(String tempHandleId:?driver.getWindowHandles())
{ ? ? ?
? ? ? ?//如果不是當前窗口的thisHandleId,那么我們就用它取切換到新窗口
? ? ? ? if(!tempHandleId.equals(thisHandleId))
? ? ? ?{
? ? ? ? ? ?driver.switchTo().window(tempHandleId); ?
? ? ? }
} ?
?
親,你是不是要問我如果超過2個測試窗口怎么辦? 告訴你,沒有現成的辦法,但是我有一秘訣,就是:
每次遍歷一個handleId去切換到一個不知道是哪個頁面的頁面,然后接著去斷言下該頁面下是否有你設置的那些元素或者文字或網頁標題等等,不就可以區分是哪個新頁面了?
for(String tempHandleId:?driver.getWindowHandles())
{ ?? ?
? ?? ? ? ? ? ? ?driver.switchTo().window(tempHandleId); ?
? ? ? ? ? ? ? ? ...接著去獲取當前窗口的html進行分析、或者斷言網頁標題、內容元素等,肯定可以區分是哪個新頁面,除非是相同的響應頁面那我無語了
? ? ? ? ? ? ? ? 不要再問哥,哥就說個傳說! 不過我要告訴你每個網頁都有一個HandleId,就好比每個人都有一個身份證號碼進行唯一識別身份。
} ?
?
?
本著資源共享的原則,歡迎各位朋友在此基礎上完善,并進一步分享,讓我們的實現更加優雅。如果有任何疑問和需要進一步交流可以加我QQ 1922003019或者直接發送QQ郵件給我溝通 ??
sea ?2015 ?中國:廣州:VIP
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
