RIDE對開啟多個標籤頁的頁面操作
阿新 • • 發佈:2019-01-26
測試時候會碰到這樣的場景:開啟瀏覽器標籤頁A,然後通過A開啟標籤頁B,但是標籤頁B只是需要檢視一下,還是要返回標籤頁A進行操作。
剛開始我的思路是:關閉標籤頁B,然後繼續在標籤頁A操作
1.按F5通過ride的關鍵字查詢
使用close window,關閉的是標籤頁B
使用close browser,關閉是整個瀏覽器
---此種方法行不通
2.檢視chrome瀏覽器關閉當前標籤頁的快捷鍵是ctrl+w
Python語法為:
ActionChains(browser).key_down(Keys.CONTROL).send_keys("w").key_up(Keys.CONTROL).perform()
可是我使用的是ride,還沒有搞清楚怎麼在ride中實現傳送按鍵操作,試了很久都搞不定。
然後我又通過獲取頁面title,發現此時雖然介面顯示是已經跳轉到了B標籤頁,但是獲取到的title還是A標籤頁。
那是不是可以說明,此時可以當做標籤頁B完全不存在,繼續在標籤頁A上該怎麼操作怎麼操作,我先用的之前jquery的判斷方式,去找頁面元素,卻一直提示找不到元素,就很納悶,明明它當前頁面是標籤A,怎麼又會找不到元素。
後來換成xpath的定位方式,竟然解決了,可以成功在標籤A頁面進行操作了,完全不會受此時電腦螢幕上霸屏的標籤B頁面影響。而且省去了關閉標籤頁,切換標籤頁等步驟,妥妥的。