selenium官網有提供下載http://code.google.com/p/selenium/downloads/listjavascript
這裏我用的是IEDriverServer_Win32_2.43.0.zip,下載後解壓,把IEDriverServer.exe放在python安裝目錄,與python.exe在同一目錄下,便可調用.html
#coding=utf-8 from selenium import webdriver driver=webdriver.Ie() url='http://www.baidu.com' driver.get(url) driver.close()
說明:java
一、【#coding=utf-8】爲了防止亂碼問題,以便在程序中添加中文註釋,把編碼統一爲UTF-8,注意=兩遍不要留空格,不然不起做用,另外【#_*_coding:utf-8_*_】的寫法也能夠達到相同的做用python
二、【from selenium import webdriver】該步驟是導入selenium的webdriver包,只有導入selenium包,咱們才能使用webdriver API進行自動化腳本的開發web
三、【driver=webdriver.Ie()】這裏將控制webdriver的Ie賦值給driver,經過driver得到瀏覽器操做對象,後就能夠啓動瀏覽器、打開網址、操做對應的頁面元素了。chrome
若IEDriverServer.exe沒有放在python安裝目錄下,而自定義的目錄,如:IE目錄下,則直接使用上述代碼是沒法調用成功的,提示:"IEDriver executable needs to be available in the path. "由於在默認的路徑下,沒法找到IEDriver,因此須要爲webdriver指定指定IEDriver的路徑,以下:瀏覽器
#coding=utf-8 from selenium import webdriver import os url='http://www.baidu.com' iedriver ='C:\IEDriverServer.exe' #iedriver路徑 os.environ["webdriver.ie.driver"] = iedriver #設置環境變量 driver = webdriver.Ie(iedriver) driver.get(url) driver.close()
說明:安全
一、 os.environ["webdriver.ie.driver"]是設置IEDriver的環境變量,設置爲實際的IEDriver地址便可。ide
二、 若爲chrom瀏覽器,則參數爲:os.environ["webdriver.chrome.driver"]測試
上面介紹了,調用IE來打開對應的網頁問題,可是在實際測試中,有些網站是採用https協議的,這時候IE瀏覽器會彈出以下窗口,通常手動選擇後,纔可進入登陸界面,而在webdriver調用瀏覽器後,沒法繼續操做,那麼該如何解決呢?
首先,咱們能夠能夠查看該網頁的源碼,分析下代碼,能夠看到下面部分信息:
<h4 id="continueToSite">
<img src="red_shield.png" ID="ImgOverride" border="0" alt="不推薦圖標" class="actionIcon">
<A href='' ID="overridelink" NAME="overridelink" >繼續瀏覽此網站(不推薦)。 </A>
</h4>
述標記部分的,則是上圖標記的地方,通常咱們點擊該圖標後便可進入登陸窗口,下面代碼中經過調用javascript來操做瀏覽器的提示框,來跳過該提示便可:
#coding=utf-8 from selenium import webdriver driver=webdriver.Ie() firsturl='https://172.172.110.8/Terminal/logon.do' driver.get(firsturl) driver.get("javascript:document.getElementById('overridelink').click();")#解決IE提示問題 driver.close()
方法二則是經過配置瀏覽器的方法,解決證書問題,方法以下:
一、點擊【繼續瀏覽此網頁】後進入登陸窗口,此時地址欄後面會出現【證書錯誤】提示
二、點擊證書錯誤——查看證書,提示證書無效,則是由於證書不被信息,須要安裝證書
三、彈出證書界面,選擇安裝證書
四、按嚮導操做,注意在下列步驟中須要選擇證書位置
五、配置完成後,此時依然是沒法登錄的,點擊繼續瀏覽後,彈出的錯誤提示爲:不匹配的地址,以下,還須要繼續配置
六、Internnet選項——高級下,去除下圖中標記項的勾,而後保存
七、從新打開地址,此時仍然會彈出提示,選擇繼續瀏覽後,會發現上方的地址欄變爲一個小鎖,如右圖,說明已經配置OK,後續在打開該地址就不會彈出錯誤選項了。
八、若仍是沒法登錄,能夠在Internet選項—安全中:設置安全等級爲低等級,並在高級選項下,將下屬五項所有勾選後重啓瀏覽器便可
運行過程當中若是出現錯誤:WebDriverException: Message: u'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.
更改IE的internet選項->安全,將Internet/本地Internet/受信任的站定/受限制的站點中的啓用保護模式所有去掉勾,或者所有勾上
[1] 證書錯誤 導航已阻止 沒法跳轉 最終解決,
http://jingyan.baidu.com/article/cbf0e5008af1392eaa2893cf.html
[2] webdriver+python 對三大瀏覽器的支持,
http://blog.163.com/yang_jianli/blog/static/1619900062014102833427464/