python - 在 mac 上执行 selenium 无头脚本时如何运行 Chrome?
问题描述
我有一个 python selenium 脚本,它在无头模式下使用 chromedriver 来测试网站上的链接。我在 MacOS High Sierra 上运行这个脚本。
如果我在运行脚本之前打开了 Chrome,我可以继续正常使用浏览器。无头模式似乎将我与测试隔离开来。但是,如果 Chrome 先关闭,我无法在 selenium 脚本运行时启动浏览器。
在第一个场景中查看活动监视器,在我看来 chromedriver 创建了一个新进程供 Chrome 运行。所以我(也许是错误的)假设我应该能够在脚本运行时手动启动浏览器。
我错过了什么?
如何在 Mac 上运行 selenium 时启动 Chrome?
解决方案
啊哈!
我偶然发现的这篇文章使在 selenium 运行时打开 Chrome 成为可能(尽管我不明白为什么它以一种方式工作而不是另一种工作方式)。
对于大多数应用程序,使用
open -naF "App Name"
或启动open -nF /path/to/application.app
就足够了(请参阅 Safari、Forklift、Office 应用程序等)。
-n
打开一个新实例-a
告诉 open 查看已注册应用程序列表(无需指定完整路径,但如果您有多个版本的应用程序可能会出错。我有时会在我的系统上看到区分 macOS 应用程序和 Parallels OS 安装的应用程序的问题…我更喜欢直接指定路径。)-F
打开一个新实例(忽略以前实例遗留的应用程序保存状态)
推荐阅读
- python - 以字母不区分大小写的顺序旋转(重塑)熊猫数据框
- amazon-web-services - 从 Amazon SNS 主题读取的轮询器
- ios - 为什么我在 react native iOS 中收不到通知?
- email - 使用 msmtp 时出现身份验证错误
- python - 无法洗牌矩阵行
- arduino - 获取水位传感器信息到 esp8266-01 上传到thingSpeak
- python - 我正在尝试使用提供的 json 文件中的数据创建数据库
- batch-file - 如何跳过在批处理文件中发现的错误并继续执行命令行?
- android - 在 Play 商店和 Play 控制台上下载数字不同
- mysql - 如何在 MySQL 数据库上将时间戳调整为昨天的日期?