运行报错:
解决方法:
1、安装chromedriver:http://npm.taobao.org/mirrors/chromedriver/
2、设置环境变量:把下载的chromedriver移动到/usr/local/bin中
3、如果此时,在本地中通过python可以成功运行问题中代码,而在pycharm的虚拟环境env下还报以上对应的错误,可以如下解决:
把chromedriver文件,复制到虚拟环境的bin目录中
出错原因分析:
- 在pycharm的env中,打印环境的路径信息:
import os
print(os.environ)
- 你会发现在路径中,没有包含chromedriver的目录,所以会报错,提示找不到文件chromedriver,需要加入到PATH中
此时继续运行报错:
打开chrome浏览器,输入chrome://version发现上次安装的72版本的chrome变成76版本了,需要禁止chrome自动更新后,重新安装72版本的chrome。
禁止chrome自动更新的办法:
方法一:
首先关闭Chrome浏览器,然后进入目录“/Library/Google/GoogleSoftwareUpdate”
cd /Library/Google/GoogleSoftwareUpdate
然后删除该目录下的GoogleSoftwareUpdate.bundle即可。可以通过命令行删除,或者Finder手动删除都可以。
方法二:
可能在有些Mac上发现在“/Library”这个根目录下没有Google目录,那么其实在“~/Library”这个用户目录下也有一个Google目录。在该目录下执行操作同样可以禁用自动更新。请执行以下命令:
cd ~/Library/Google
sudo chown root:wheel GoogleSoftwareUpdate
相当于修改了GoogleSoftwareUpdate这个文件夹的拥有者,而不仅仅是修改了权限,使Google对该文件夹没有写入权限。事实证明这种方式是可行的。
在进行正确姿势一时要注意,进入的是Mac系统目录下的“/Library/Google/GoogleSoftwareUpdate”这个目录,而不是“/Users/mac名/Library/Google/GoogleSoftwareUpdate”或者“~/Library/Google/GoogleSoftwareUpdate”。如果你进入了“~/Library/Google/GoogleSoftwareUpdate”,会发现其实这里根本就没有GoogleSoftwareUpdate.bundle这个文件,因为你走的方向就错了。
在进行正确姿势二时要注意,恰恰和正确姿势一相反,此时进入的是“/Users/mac名/Library/Google”目录或者“~/Library/Google”目录这个用户目录。
正确姿势一和正确姿势二都可以阻止Chrome的自动升级,我们可以通过查看GoogleSoftwareUpdate来查看这两种方式的共同点:
/Library/Google目录,可以发现GoogleSoftwareUpdate这个文件的所属为root:wheel
~/Library/Google目录,可以发现GoogleSoftwareUpdate这个文件的所属同样为为root:wheel
chrome浏览器下载地址:https://www.chromedownloads.net/chrome64osx/