首页 > 解决方案 > 在 mac 上执行 selenium 无头脚本时如何运行 Chrome?

问题描述

我有一个 python selenium 脚本,它在无头模式下使用 chromedriver 来测试网站上的链接。我在 MacOS High Sierra 上运行这个脚本。

如果我在运行脚本之前打开了 Chrome,我可以继续正常使用浏览器。无头模式似乎将我与测试隔离开来。但是,如果 Chrome 先关闭,我无法在 selenium 脚本运行时启动浏览器。

在第一个场景中查看活动监视器,在我看来 chromedriver 创建了一个新进程供 Chrome 运行。所以我(也许是错误的)假设我应该能够在脚本运行时手动启动浏览器。

我错过了什么?
如何在 Mac 上运行 selenium 时启动 Chrome?

标签: pythonmacosseleniumgoogle-chromeselenium-chromedriver

解决方案


啊哈!
我偶然发现的这篇文章使在 selenium 运行时打开 Chrome 成为可能(尽管我不明白为什么它以一种方式工作而不是另一种工作方式)。

对于大多数应用程序,使用open -naF "App Name"或启动open -nF /path/to/application.app就足够了(请参阅 Safari、Forklift、Office 应用程序等)。

  • -n打开一个新实例
  • -a告诉 open 查看已注册应用程序列表(无需指定完整路径,但如果您有多个版本的应用程序可能会出错。我有时会在我的系统上看到区分 macOS 应用程序和 Parallels OS 安装的应用程序的问题…我更喜欢直接指定路径。)
  • -F打开一个新实例(忽略以前实例遗留的应用程序保存状态)

推荐阅读