想要使用selenium操作瀏覽器,首先需要下載chromedriver,selenium通過操作chromedriver來操作chrome瀏覽器
根據瀏覽器版本下載對應的chromedriver版本:版本對照表
chromedriver淘寶鏡像:chromedriver下載
下載好后將下載好的包解壓后,會得到一個可執行文件,
如果是Windows,將此文件放到含有環境變量的目錄下即可
如果是Linux,將此文件放到含有環境變量的目錄下,并賦予可讀可寫可執行權限
權限賦予命令:sudo chmod 777 chromedriver
如果沒有Selenium模塊請自行安裝,如果沒有ipthon模塊也請自行安裝(這個用于測試,不安裝也行)
測試
有界面 瀏覽器
需要滑動模塊等使用有界面
# 導入selenium模塊中的webdirver模塊
In [1]: from selenium import webdriver
# 創建Chrome對象
In [2]: driver = webdriver.Chrome()
# 操作Chrome對象訪問淘寶
In [3]: driver.get("http://www.taobao.com")
# 獲取渲染好的網頁源碼
In [4]: html = driver.page_source
# 打印出網頁源碼
In [5]: print html
# 獲取當前響應的實際url地址
In [6]: print driver.current_url
關閉瀏覽器
In [7]: driver.quit()
In [8]: driver.close()
修改Chrome的User-Agent
from selenium import webdriver
options = webdriver.ChromeOptions()
# 設置成中文
options.add_argument('lang=zh_CN.UTF-8')
# 添加頭部
options.add_argument('user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.103 Safari/537.36"')
driver = webdriver.Chrome(chrome_options=options)
driver.get("https://httpbin.org/user-agent")
設置代理
和修改User-Agent的方法類似
from selenium import webdriver
#打開chrome設置
chrome_options = webdriver.ChromeOptions()
#添加proxy參數
chrome_options.add_argument('--proxy-server=http://58.209.151.126:808')
chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get('http://httpbin.org/ip')
print(chrome.page_source)
chrome.quit()
無頭chrome
訪問效率高
In [1]: from selenium import webdriver
In [2]: options = webdriver.ChromeOptions()
# 設置無頭屬性
In [3]: options.add_argument('--headless')
# 啟動無頭瀏覽器
In [4]: driver = webdriver.Chrome(chrome_options=options)
# 訪問百度
In [5]: driver.get('http://www.baidu.com')
# 關閉瀏覽器
In [6]: driver.close()