新安装的Python环境,调试基于Selenium+PhantomJS的动态爬虫程序,报了这么个错误:
C:\Python\Python36-32\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 useheadless '
这个意思是说,新版本的Selenium不再支持PhantomJS了,请使用Chrome或Firefox的无头版本来替代。
这提供2种解决方案
一:降级selenium使用
pip uninstall selenium #先卸载selenium
pip install selenium==3.4.3 #指定版本安装selenium
防止以后官网没得下载,先备份个selenium3.4.3和PhantomJS 下载地址
二:使用Headless Chrome和Headless Firefox
使用Headless Chrome
Headless模式是Chrome 59中的新特征。
要使用Chrome需要安装 chromedriver。
chromedriver驱动大全
http://chromedriver.storage.googleapis.com/index.html
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
br = webdriver.Chrome(chrome_options=chrome_options)
br.get('https://www.baidu.com/')
baidu = br.find_element_by_id('su').get_attribute('value')
print(baidu)
使用Headless Firefox
要使用Firebox需要安装 geckodriver。
geckodriver.exe驱动大全
https://github.com/mozilla/geckodriver/releases
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
firefox_options = Options()
firefox_options.add_argument('--headless')
br = webdriver.Firefox(firefox_options=firefox_options)
br.get('https://www.baidu.com/')
baidu = br.find_element_by_id('su').get_attribute('value')
print(baidu)




