Python爬蟲之旅之Selenium庫的使用

NO IMAGE

前言

  • Python是一門計算機程序語言,目前人工智能科學領域應用廣泛,應用廣泛就表明各種庫,各種相關聯的框架都是以Python作為主要語言開發出來的。
  • 谷歌的TensorFlow大部分代碼都是Python
  • Python雖然是腳本語言,但是因為容易學,迅速成為科學家的工具,從而積累了大量的工具庫、架構,人工智能涉及大量的數據計算,用Python是很自然的,簡單高效。
  • Python有非常多優秀的深度學習庫可用,現在大部分深度學習框架都支持Python,不用Python用誰?

環境以及工具

pyCharm 2018.3.3
Python 3.7.2
Google Chrome 版本 71.0.3578.98(正式版本)(64 位)

效果展示

Python爬蟲之旅之Selenium庫的使用

什麼是Selenium

Selenium [1]  是一個用於Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。
你也許有疑問,怎麼爬蟲和web自動化測試工具有關係呢?

其實Selenium在爬蟲中主要用來解決JavaScript渲染問題

整體步驟


  • 聲明瀏覽器對象
  • 訪問頁面
  • 查找元素
  • 元素交互操作

核心步驟解讀

1. 聲明瀏覽器對象
from selenium import webdriver
browser = webdriver.Chrome()
browser = webdriver.Firefox()
2. 訪問頁面
    browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
print(browser.page_source)
# browser.close()
3. 查找元素

3.1 在瀏覽器找到輸入框

Python爬蟲之旅之Selenium庫的使用

3.2 在瀏覽器找到百度一下按鈕

Python爬蟲之旅之Selenium庫的使用

webElement = browser.find_element_by_id("kw")
browser.find_element_by_id("su")
4. 元素交互操作
    webElement.send_keys("請您打開微信!關注微信公眾號:開發者技術圈")
browser.find_element_by_id("su").click()

代碼展示

from time import sleep
from selenium import webdriver
if __name__ == '__main__':
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
print(browser.page_source)
# browser.close()
browser.find_element_by_id("kw").send_keys("請您打開微信!關注微信公眾號:開發者技術圈")
sleep(2)
browser.find_element_by_id("su").click()

採坑記錄

AndroidStudio3.3selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH. Please see sites.google.com/a/chromium.…

這個問題的出現是由於chromedriver沒找到,只要點擊錯誤提示網站下載下來,放到對應目錄下面即可。

Python爬蟲之旅之Selenium庫的使用

源碼位置

由於源碼太長,相應資源獲取方式,請關注公眾號並且在後臺回覆:Python

Kotlin重構系列分享教程

Kotlin環境搭建

Kotlin重構初體驗之告別FindViewById

Kotlin重構如何兼容原先的ButterKnife、EventBus3.1

當ButterKnife8.8.1碰到AndroidX怎麼辦

請關注我(分享日常開發)

Python爬蟲之旅之Selenium庫的使用

參考文章:

Selenium

baike.baidu.com/item/seleni…

blog.csdn.net/ywj_486/art…

bbs.csdn.net/topics/3919…

相關文章

Kotlin返回與跳轉

Kotlin控制語句ifwhenforwhile

Kotlin基本類型

Python爬蟲之旅之豆瓣音樂