1. 程式人生 > >在使用python的selenium庫 抓取動態網頁時,瀏覽器內容出現空白的解決方式

在使用python的selenium庫 抓取動態網頁時,瀏覽器內容出現空白的解決方式

轉載請標明出處,謝謝~。

我使用的版本:

1、python 3.7 (IDE 用的 pycharm)
2、selenium(通過pip install 安裝的最新版本:3.14 時間:2018.9.6 )
3、 geckodriver.exe 21.0
4、firefox 瀏覽器最新版本(62.0 時間:2018.9.6 )

問題:
向Path添加了位於python37\scripts\的geckodriver 以及 向Path添加了firefox瀏覽器的安裝路徑後,執行以下測試程式碼:

from selenium import webdriver
from
selenium.webdriver.firefox.firefox_binary import FirefoxBinary caps = webdriver.DesiredCapabilities().FIREFOX caps["marionette"] = False binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe') driver = webdriver.Firefox(firefox_binary=binary, capabilities=caps,timeout=60) driver.get("http://www.santostang.com/2018/07/04/hello-world/"
)

瀏覽器firefox被開啟,但內容是空白的:`
這裡寫圖片描述
關閉瀏覽器報錯:

"The browser appears to have exited "
selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.

之後查了很多資料,花了2h左右,找到了解決方法。下載了一個firefox較低版本 35.0 ,之後完美執行!

firefox 35.0版本下載連結: http://ftp.mozilla.org/pub/firefox/releases/35.0.1/win32/zh-CN/

我的是64位計算機,但完美相容。

geckodriver下載連結` https://github.com/mozilla/geckodriver/releases

由於防火牆存在,一次性進不去的話,就先進入https://github.com 然後搜尋geckodriver 點選Mozilla的連結,這裡千萬不要點選下載那裡的檔案,沒用的…..(不要問我為什麼知道)然後再在瀏覽器上方的url連結後面補上releases,選擇版本下載,最新的也行,關鍵就是瀏覽器版本要支援。

` 最後提醒一下,要通過python selenium庫使用老版本firefox時,需要提前關閉最新版本 的firefox(要是刪掉了就當我沒說),不然程式執行不會成功。’

還有什麼其他問題請私戳或留言

以上