前面文章介紹了,如何調用webdriver接口方法來打開和關閉Firefox瀏覽器,本文介紹如何打開IE和Chrome瀏覽器。web項目,需要做兼容性測試,最重要的是瀏覽器兼容性測試。如果只考慮windows平台,相信應該很多公司必須要測試IE、Firefox、Chrome這三大瀏覽器。所以webui 自動化測試,也需要在這三大瀏覽器上面運行和測試腳本。從前面文章,我們知道,要調用Firefox瀏覽器,我們需要下載geckodriver.exe這個文件,放到Python的安裝路徑下,例如在安裝Python是默認安裝,路徑就是C:\Python27;同樣的道理,如果要啟動IE和谷歌瀏覽器,也需要下載相關的插件,放到Python安裝路徑(C:\Python27,和python.exe在同一級目錄下)。
在Selenium官方網站,可以下載最新發布的不同瀏覽器的插件支持文件,IE(IEDriverServer.exe)、Chrome(chromedriver.exe),下載的時候注意下,IE有32位和64位下載文件,chrome目前暫時只有32bit一個文件。下載好了,放到C:\Python27,和python.exe在同一級目錄下。由於國內網絡一般無法直接方法Selenium站點,我把這三個三件放在百度雲盤,點擊這里。
運行本文下面的代碼,有一個前提條件,IE,Chrome,Firefox都是默認安裝在C盤,安裝的時候不需要去更改安裝路徑。如果有不是默認安裝的,請卸載Firefox,重新下載文件,默認安裝到C盤。請相信我,不要浪費時間在,如何啟動非默認安裝位置下的Firefox瀏覽器。
1. 如何啟動Chrome
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window() # 最大化瀏覽器
driver.implicitly_wait(8) # 設置隱式時間等待
driver.get("https://www.baidu.com")
driver.quit()
2. 如何啟動IE
from selenium import webdriver
driver = webdriver.Ie()
driver.maximize_window()
driver.implicitly_wait(8)
driver.get("https://www.baidu.com")
driver.quit()
注意:可能出現的報錯
Exception: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.
解決辦法:Internet選項->安全; 把Internet站點,本地Intrant,受信任站點 三個地方的安全界面都設置相同等級,例如都設置中; 再次運行代碼就可以用IE打開百度了。
總結:目前,由於IE的不穩定性和速度問題,建議采用火狐或者谷歌瀏覽器來測試和debug自動化腳本。
