Selenium最新版本再也不支持PhantomJS

Selenium最新版本再也不支持PhantomJS

2018年09月19日 15:07:45 czbuyi 阅读数:600git

今天想对《自动读取单位某系统数据》一文中的项目作些优化,将Selenium+firefox改成无界面的PhantomJS,出现以下错误:github

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 ' 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代替。web

  • 完美解决方法转发自这个博客:Selenium+PhantomJS使用时报错缘由及解决方案
  • 在使用webdriver驱动器文件时,建议仍是将其解压至某个目录,再手动指定executable_path参数,免得去设置环境参数(主要是由于个人mac里设置后老是不能用)。

使用无界面浏览器

Selenium+Headless Firefoxchrome

Selenium+Headless FirefoxSelenium+Firefox,区别就是实例option的时候设置-headless参数。浏览器

前提条件:less

  • 本地安装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() 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 Chromegoogle

Firefox相似,双手奉上。spa

前提条件:.net

  • 本地安装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()

若是本文对您有帮助,请给我留个言。谢谢!

相关文章
相关标签/搜索