Selenium是一個Web的自動化測試工具,最初是爲網站自動化測試而開發的,類型像咱們玩遊戲用的按鍵精靈,能夠按指定的命令自動操做,不一樣是Selenium 能夠直接運行在瀏覽器上,它支持全部主流的瀏覽器(包括PhantomJS,Chrome這些無界面的瀏覽器)。html
Selenium 能夠根據咱們的指令,讓瀏覽器自動加載頁面,獲取須要的數據,甚至頁面截屏,或者判斷網站上某些動做是否發生。python
Selenium 本身不帶瀏覽器,不支持瀏覽器的功能,它須要與第三方瀏覽器結合在一塊兒才能使用。可是咱們有時候須要讓它內嵌在代碼中運行,因此咱們能夠用一個叫 PhantomJS 的工具代替真實的瀏覽器。web
能夠從 PyPI 網站下載 Selenium庫 https://pypi.python.org/simpl...
也能夠用 第三方管理器 pip用命令安裝(windows 環境):pip install selenium
Selenium 官方參考文檔: http://selenium-python.readth...
下載ChromeDriverchrome
https://npm.taobao.org/mirror...
找到最新日期的版本,能夠查看notes.txt文檔,選擇支持的Chrome瀏覽器的版本npm
# coding=utf-8 # 導包 from selenium import webdriver import time if __name__ == '__main__': # 1. 建立瀏覽器對象 driver = webdriver.Chrome() # 2. 發送請求 driver.get('https://www.baidu.com') # 3. 獲取數據 # data = driver.page_source # with open('baidu.html', 'w') as f: # f.write(data.encode('utf-8')) # 給搜索框 輸入數據: 數據 必須是unicode driver.find_element_by_id('kw').send_keys(u'segmentfault') # 而後點擊 # driver.find_element_by_id('su').click() # webdriver 也支持xpath driver.find_element_by_xpath('//*[@id="su"]').click() time.sleep(3) # 瀏覽器有幾個標籤頁 print driver.window_handles # 屏幕快照 driver.save_screenshot('baidu.png') # 點擊搜索結果的第一條 driver.find_element_by_xpath('//*[@id="1"]/h3/a').click() # time.sleep(3) # 由於點擊以後會打開一個新的標籤,因此須要跳到新的標籤 # driver.switch_to_window(driver.window_handles[1]) print driver.window_handles # 4. 屏幕快照 driver.save_screenshot('baidu1.png')