mac node.js安装自动化爬虫驱动 selenium-webdriver

300 阅读1分钟

一. 安装旧版本chrome

  1. 旧版本chrome位置 google-chrome.cn.uptodown.com/mac/version…
  2. 下载 114.0.5735.106 版本 google-chrome.cn.uptodown.com/mac/downloa…
  3. 安装dmg文件选择 保留两者
  4. 跟着知乎大佬做 zhuanlan.zhihu.com/p/609512162
  5. 在应用程序中找到Google Chrome 2.app 修改为 Google Chrome69.app
  6. 设置启动脚本
do shell script "/Applications/Google\ Chrome69.app/Contents/MacOS/Google\ Chrome --user-data-dir=/Users/$USER/Library/Application\ Support/Google/Chrome69 > /dev/null 2>&1 &"

7.在 系统偏好设置》安全性与隐私输入密码才能正常用

8.禁止更新,要不然重新启动就最新版了
大佬有分享 sysin.org/blog/disabl…

# 删除更新程序
rm -rf ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle

# 将更新程序目录设置为系统级别只读
sudo chflags schg ~/Library/Google/GoogleSoftwareUpdate

二. 安装chromedriver

  1. chrome驱动位置 chromedriver.storage.googleapis.com/index.html?…
  2. 解压chromedriver_mac64.zip
  3. 移动chromedriver(unix可执行文件)到$HOME/bin目录下
  4. 将$HOME/bin 添加到 PATH路径下
$ cd $HOME/Downloads
$ wget https://chromedriver.storage.googleapis.com/index.html?path=114.0.5735.90/chromedriver_mac64.zip
$ unzip chromedriver_mac64.zip
$ mkdir -p $HOME/bin
$ mv chromedriver $HOME/bin
$ echo "export PATH=$PATH:$HOME/bin" >> $HOME/.bash_profile

三. 写个例子

  1. 写了一个例子 github.com/linmowang/n…
  2. 执行 node ./index.js
  3. 遇到问题 无法打开“chromedriver”,因为无法验证开发者。
  4. 解决方法 www.cnblogs.com/may18/p/152…
cd $HOME/bin
# 删除com.apple.quarantine扩展属性,系统才会信任
xattr -d com.apple.quarantine chromedriver
  1. 指定ChromeBinaryPath为chrome69的路径
const { Options } = require("selenium-webdriver/chrome");

let driver = await new Builder().forBrowser(Browser.CHROME)
.setChromeOptions(new Options().setChromeBinaryPath('/Applications/Google Chrome69.app/Contents/MacOS/Google Chrome')).build();