• 安装phantomjs(Ubuntu版本 MacOS版本)


    安装phantomjs(Ubuntu版本)

    首先:apt-get update    # 更新软件列表。
         apt-get upgrade   # 更新软件。
    
    其次再执行如下步骤     
    步骤一下载包:wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.5.0-beta-linux-ubuntu-xenial-x86_64.tar.gz
    步骤二解压:tar -xzvf phantomjs-2.5.0-beta-linux-ubuntu-xenial-x86_64.tar.gz
    步骤三切入路径:cd phantomjs-2.5.0-beta-ubuntu-xenial/bin
    步骤四:chmod +x phantomjs
    步骤五查看是否生效:phantomjs -v  # 有信息如 2.1.1 则生效
    

      

    安装Phantomjs(MacOS版本)

    步骤一下载包:去这里下载对应版本http://phantomjs.org/download.html
    步骤二解压:双击就行,用unzip这都无所谓
    步骤三切入路径:cd ~/Downloads/phantomjs-2.1.1-macosx/bin  # 我下的路径的路径是download,版本不一,注意修改
    步骤四:chmod +x phantomjs
    步骤五: 配置环境,因为我装的的zsh,所以文件需要修改的是~/.zshrc这个文件,加上这句话export PATH="/Users/mrlevo/Downloads/phantomjs-2.1.1-macosx/bin/:$PATH",然后source ~/.zshrc 即可生效(没用zsh的同学,直接修改的文件时~/.bash_profile,添加内容和上述一致)
    查看是否生效:phantomjs -v  # 有信息如 2.1.1 则生效
    

      

    phantomjs的使用(Ubuntu和MacOS都一样)

    >>> from selenium import webdriver  # pip install selenium
    >>> driver_detail = webdriver.PhantomJS()
    >>> driver_detail.get('https://www.baidu.com')
    >>> news = driver_detail.find_element_by_xpath("//div[@id='u1']/a")
    >>> print news.text
    新闻
    >>> driver_detail.quit() # 记得关闭,不然耗费内存
    

      

    Pay Attention

    QXcbConnection: Could not connect to display 
    PhantomJS has crashed. Please read the bug reporting guide at 
    http://phantomjs.org/bug-reporting.html and file a bug report. 
    Aborted
    

      

    解决方案

    步骤一:sudo apt-get install xvfb
    步骤二:sudo xvfb-run wkhtmltopdf
    

      

    xvfb 是通过提供一个类似 X server 守护进程 和 设置程序运行的环境变量 DISPLAY 来提供程序运行的环境,wkhtmltopdf,把HTML页面内存转换成PDF
    

      如按照上述步骤还未解决,请重启终端!

  • 相关阅读:
    Error creating bean with name 'eurekaAutoServiceRegistration'
    CentOS 下 安装 nginx 执行配置命令 ./configure 报错
    linux解压war包的命令
    idea中如何将一个普通项目转换为maven项目(或者导入Maven项目后没反应)
    IDEA报 : Lombok Requires Annotation Processing
    IDEA中如何添加RunDashboard
    @Controller 和 @RestController 的区别
    @RequestMapping 和 @GetMapping @PostMapping 区别
    批量提取指定文件夹下的所有文件名称及其路径
    TortoiseSVN的bin目录下面没有svn.exe
  • 原文地址:https://www.cnblogs.com/hyh123/p/7861684.html
Copyright © 2020-2023  润新知