美文网首页
PhantomJS过时,Selenium+chromedrive

PhantomJS过时,Selenium+chromedrive

作者: 阿敏其人 | 来源:发表于2018-10-30 20:14 被阅读24次

    Selenium与Headless

    我们爬去js动态数据生出的数据时,Selenium是常客。

    以往Selenium和PhantomJS是最佳拍档,但是,后来他们分手了。
    本来恋爱,就是因为PhantomJS支持Headless,后来chrome和firefox都支持Headless模式了,Selenium就提出,我们分手吧。

    我们知道,新版的Selenium+PhantomJS,报错如下Selenium support for PhantomJS has been deprecated, please use headless.

    太决绝了。


    接下来,我们以mac的Selenium+chromedriver为例子。搭建下环境。

    Headless模式是Chrome 59中的新特征。
    Chrome本省并不自带chromedriver,需要安装

    环境搭建

    step1 下载与当前chrome版本相匹配的chromedriver。

    chromedriver下载地址

    注:记得下载与当前chrome想匹配的版本

    image.png image.png

    无法科学download,可以到淘宝镜像下载

    step2 解压chromedriver,移动至/usr/local/bin

    解压后,得到一个文件,移动至/usr/local/bin

    image.png

    验证是否允许链接

    打开Terminal,把/usr/local/bin下的chromedriver拉进去,回车。
    得到类似信息,即可

     Starting ChromeDriver 2.43.600229 (3fae4d0cda5334b4f533bede5a4787f7b832d052) on port 9515
    Only local connections are allowed.
    

    step3 使用

    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')
    driver = webdriver.Chrome(chrome_options=chrome_options)
    driver.get("test url")
    

    test url,比如https://cnblogs.com/

    完成。

    相关文章

      网友评论

          本文标题:PhantomJS过时,Selenium+chromedrive

          本文链接:https://www.haomeiwen.com/subject/ekrntqtx.html