什麼是selenium?html
是python的一個第三方庫, 對外提供的接口能夠操做瀏覽器, 而後讓瀏覽器完成自動化的操做python
環境的安裝:web
1.pip install seleniumchrome
2.獲取某一個瀏覽器的驅動程序(以谷歌瀏覽器爲例)api
驅動程序安裝包: 連接: https://pan.baidu.com/s/1x6ZOf-poIHYcOexdG9yDcA 提取碼: c589 複製這段內容後打開百度網盤手機App,操做更方便哦瀏覽器
谷歌瀏覽器驅動下載地址:http://chromedriver.storage.googleapis.com/index.html
less
下載的驅動程序必須和瀏覽器的版本統一,你們能夠根據https://www.cnblogs.com/wj12312/p/10108917.html版本映射表進行對應
ide
代碼介紹:工具
導包:from selenium import webdriverui
建立瀏覽器對象,經過該對象能夠操做瀏覽器: browser = webdriver.Chrome(r'驅動路徑')
具體實現代碼以下:
1 from selenium import webdriver 2 from time import sleep 3 4 # 建立一個瀏覽器對象,將驅動程序加載到瀏覽器中 5 chrome_obj = webdriver.Chrome(executable_path=r'C:\Users\13584\Desktop\驅動程序\chromedriver.exe') 6 # 瀏覽器對象執行get方法至關於手動打開對應的url網址 7 chrome_obj.get('https://www.baidu.com') 8 sleep(2) 9 # 使用開發者工具定位到要輸入的文本框,拿到該標籤的屬性 10 input_text = chrome_obj.find_element_by_id('kw') 11 # 在文本框中錄入關鍵字至關於手動輸入關鍵字 12 input_text.send_keys('python') 13 sleep(2) 14 # 使用開發者工具定位到要輸入的文本框,拿到該標籤的屬性 15 btn = chrome_obj.find_element_by_id('su') 16 # 至關於手動點擊按鈕 17 btn.click() 18 sleep(2) 19 # 這裏能夠進行別的代碼,好比獲取最終頁面的源碼數據 20 chrome_obj.quit()
因爲PhantomJs最近已經中止了更新和維護,因此推薦你們能夠使用谷歌的無頭瀏覽器,是一款無界面的谷歌瀏覽器。
代碼以下:
只需提早建立一個參數對象,用來控制chrome以無界面模式打開
1 from selenium import webdriver 2 from selenium.webdriver.chrome.options import Options 3 from time import sleep 4 5 # 建立一個參數對象,用來控制chrome以無界面模式打開 6 nohead_chrome = Options() 7 nohead_chrome.add_argument('--headless') 8 nohead_chrome.add_argument('--disable-gpu') 9 10 # 驅動程序路徑 11 path = r'C:\Users\13584\Desktop\驅動程序\chromedriver.exe' 12 13 # 建立瀏覽器對象 14 browser = webdriver.Chrome(executable_path=path, chrome_options=nohead_chrome) 15 16 url = 'https://www.baidu.com/' 17 browser.get(url) 18 sleep(3) 19 20 browser.save_screenshot('baidu.png') 21 22 browser.quit()