使用pyecharts渲染图片的selenium方式报错处理

使用Python3 + selenium 3下环境渲染图片WebDriverException

个人环境: Anaconda 3, Python3.6, window 7, selenium 3

使用 pyecharts 渲染成图片一直是开发者比较关心的功能,pyecharts 提供了 selenium, phantomjs 和 pyppeteer 三种方式。具体可以参看官网:https://pyecharts.org/#/zh-cn/render_images

snapshot-selenium 是 pyecharts + selenium 渲染图片的扩展,使用 selenium 需要配置 browser driver,这部分可以参考 selenium-python 相关介绍,推荐使用 Chrome 浏览器,可以开启 headless 模式。目前支持 Chrome, Safari。

渲染为图片的时候需要额外的第三方程序包支持,包名:selenium,可以通过执行:pip install selenium 执行安装。渲染为图片的时候,需要用的函数为:make_snapshot。

from pyecharts.charts import Bar

# 导出图片,需要引入以下对象
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot

bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家 A", [5, 20, 36, 10, 75, 90])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
# 默认模式
bar.render()
# 指定路径
bar.render("mycharts.html")

# 渲染成图片 
make_snapshot(snapshot, bar.render(), "bar0.png")

这是第一次直接执行了,然后报错:
WebDriverException: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home即谷歌浏览器的驱动不在PATH下。

详细如下图所示:
bug
这一错误是因为没有配置好chromedriver,怎么配置呢?(我用的是Chrome)

方法一:下载对应版本的chromedriver.exe放到谷歌浏览器的安装文件夹下

pyecharts生成图片时,需要完成两件事:

  1. 安装snapshot_selenium: pip install snapshot_selenium(需要先安装selenium: pip install selenium)
  2. 设置chromedriver驱动到PATH

具体步骤如下:

  1. 打开Chrome输入chrome://version来查看Chrome版本信息,如下图所示,我的版本是85
    chrome info

  2. 访问网站,然后选择合适版本的driver,下载到你自定义的位置,进行配置
    chrome versionindex 85notenote.txt里可以查看对应的版本信息。

  3. 配置如下:将下载的zip包解压后,把chromedriver.exe拷贝到谷歌浏览器的安装目录,同时配置PATH 即可。
    配置打开开始菜单->我的电脑(或计算机)->系统属性->高级系统设置->环境变量,编辑用户变量里的PATH,在最后面添加;C:\Users\Xu\AppData\Local\Google\Chrome\Application(我的Chrome安装目录)

这里,我分别试过在系统的环境变量的用户变量的PATH和系统变量的PATH下,添加chromedriver.exe所在的路径,运行程序都失败了。

方法二:将chromedriver.exe添加到python的根目录下

我直接放在我的Anaconda目录下:
Anaconda下添加chromedriver你也可以直接添加到你的Python安装目录下:
Python根目录下添加chromedriver
第二个方法,我可以成功运行程序。

欢迎各位关注我的个人公众号:HsuDan,我将分享更多自己的学习心得、避坑总结、面试经验、AI最新技术资讯。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值