問題描述:
自動化由首頁切換到分頁面,打開了一個新的窗口,不過,定位不到這個窗口的元素,通過開發者工具是可以查到這個元素的
原因是:
因為窗口句柄還停留在上一個頁面,所以導致無法定位元素。報錯 “元素不可交互”。
因此要解決的問題就是先定位到當前頁面(也就是跳轉后的頁面)然后再進行元素的定位。
幾種常見的窗口句柄操作:
handles = driver.window_handles #獲取當前瀏覽器的所有窗口句柄
driver.switch_to.window(handles[-1]) #切換到最新打開的窗口
driver.switch_to.window(handles[-2]) #切換到倒數第二個打開的窗口
driver.switch_to.window(handles[0]) #切換到最開始打開的窗口
實現代碼:
封裝了一個方法,進行切換窗口,輸入new時,判斷一下,當前是否有新的窗口出現,有新的窗口出現,即打開新的窗口
windows_handles[-1]:最新的窗口
實際應用:傳入new,切換到一個新的窗口
原文鏈接:https://blog.csdn.net/weixin_45287079/article/details/110387251