程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python報錯系列(14)--Selenium support for PhantomJS has been deprecated

編輯:Python

系列文章目錄

文章目錄

  • 系列文章目錄
  • 前言
  • 一、Selenium support for PhantomJS has been deprecated
  • 二、原因分析
    • 1.selenium已經放棄PhantomJS,了,建議使用火狐或者谷歌無界面浏覽器
    • 2.解決方案
    • 3.參考
  • 總結


前言

一、Selenium support for PhantomJS has been deprecated

E:\py\python3.7\Python37\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py:49: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

翻譯:用戶警告:Selenium對PhantomJS的支持已被棄用,請使用無頭版本的Chrome或Firefox代替
警告。“Selenium對PhantomJS的支持已被棄用,請使用headless”

二、原因分析

1.selenium已經放棄PhantomJS,了,建議使用火狐或者谷歌無界面浏覽器

PS E:\py\python3.7\test2\test43> python3 -m pip show selenium
WARNING: Ignoring invalid distribution -ip (e:\py\python3.7\python37\lib\site-packages)
Name: selenium nlmZwRtFAwvDqyjOWdztaPdjM-givOWr5tL8Y8cO71pvZnaQa09ueKNNzeKhzVvuSUm_l2xhhA_FfOm8cfTeE26tGtIozKPVfiWbkc4PxKBRLa9qx8CKGFjLeGZQtdjGuBoE2lUr-Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/ hantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: e:\py\python3.7\python37\lib\site-packages
Requires: urllib3
Required-by:

2.解決方案

1、selenium版本降級
2、通過python3 -m pip uninstall selenium卸載,重新安裝指定版本python3 -m pip install selenium==2.48.0
3、再次運行

3.參考

解決方案

  1. selenium版本降級
  2. 通過pip show selenium顯示,默認安裝版本為3.8.1。
  3. 將其卸載pip uninstall selenium,重新安裝並指定版本號pip install selenium==2.48.0。
  4. 再次運行,發現沒有報錯,搞定!
  5. 使用無界面浏覽器
    Selenium+Headless Firefox
    Selenium+Headless Firefox和Selenium+Firefox,區別就是實例option的時候設置-headless參數。

前提條件:

  • 本地安裝Firefox浏覽器
  • 本地需要geckodriver驅動器文件,如果不配置環境變量的話,需要手動指定executable_path參數。

示例代碼:

from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Options
def main():
options = Options()
options.add_argument('-headless')
driver = Firefox(executable_path='./geckodriver', firefox_options=options)
driver.get("https://www.qiushibaike.com/8hr/page/1/")
print(driver.page_source)
driver.close()
if __name__ == '__main__':
main()

Selenium+Headless Chrome

與Firefox類似

前提條件:

  • 本地安裝Chrome浏覽器
  • 本地需要chromedriver驅動器文件,如果不配置環境變量的話,需要手動指定executable_path參數。

示例:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
def main():
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=chrome_options)
driver.get("https://www.baidu.com")
print(driver.page_source)
driver.close()
if __name__ == '__main__':
main()

總結

分享:
成大事者大都具有容人所不容、忍人所不忍的心胸,善於求大同存小異,團結大多數人。他們不斤斤計較,不糾纏於非原則性的瑣事,所以才能成大事,立偉業。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved