selenium 操作 IE11 無法開啟新視窗

2021-09-02 02:19:37 字數 954 閱讀 3345

環境:

這段時間有個小任務,需要使用ie開啟多個**。selenium 使用ie11有很多坑,浪費了好多時間。設定請參考:webdriver啟動ie11。

最後仍剩下乙個問題:selenium操作ie11,怎麼都無法新開視窗。window_handles總是為1,就是webdriver物件開啟的那乙個。就算是手動在新視窗中開啟鏈結,window_handls還是為1,這樣子就無法管理ie11的視窗了。而在firefox中,是可以新開視窗的,不管是自動還是手動,都可以使用下面的**來切換管理視窗。(chrome未測試)

from selenium import webdriver

driver = webdriver.firefox().

....

.print

(len

(driver.window_handles)

)# 顯示開啟的視窗數

print

(driver.window_handles)

# 顯示各視窗控制代碼,列表

for handle in driver.window_handles

driver.switch_to.window(handle)

# 切換視窗

print

(driver.title)

# 顯示頁面標題

以下是網路裡介紹新增加視窗的兩種方法:

通過driver.execute_script()(來執行js語句。如:driver.execute_script(『window.open(「

同樣是通過driver.execute_script()(來執行js語句。在開啟的網頁中增加乙個a元素,然後使用獲取a元素,用click()實現新開視窗。但是ie11裡自動click()總是不成功,得手動去點才能成功(這就失去自動化的意思了)。

後來無法,只有建立多個webdriver來開啟多個視窗。但這仍不是好方法。

識別IE11瀏覽器

現在俺們做的系統十分高大上,用ie的話非要上ie11或以上版本。咋檢測呢?檢測到使用者用ie 且ie低於ie11的話就提示他公升級瀏覽器呢?可以醬紫 var ie function d,w document,this if typeof ie undefined else if ie 11 else...

萬惡的ie 還好只是ie11

ie 11 相容性問題 主要體現於以下兩點 1.布局錯亂2.promise等es6新特性不支援,需要babel polyfill 以下 是只會在ie 11中執行 css hack 方法,針對不同版本的可以在網上進行搜尋 media screen and ms high contrast active...

微軟IE11真TM搞笑了

媽的,搞個ie11,要自動公升級,搞得大家必須支援ie11,開發個.net的應用,你不認user agent我認了,搞得我登陸不了,技術支援出個主意讓從伺服器上framework2.0的補丁一直打到4.5,去死吧你,所有應用都要測試一遍不說,萬一出個事情,我伺服器上所有應用都要掛,難道我還要乙個個備...