python-3.x - 如何在 Google Cloud Composer 中设置 chromed

我正在尝试运行一个 DAG,每周使用 selenium 在 Cloud Composer 上抓取一个网页。

我已经尝试在创建 WebDriver.Chrome() 实例时为我上传到 GCS 的驱动程序提供路径,但我认为这不是执行此操作的最佳方法。

Airflow 给出了这个错误

Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

如果您对更新 Cloud Composer 的 PATH 变量有任何提示,我们将不胜感激。如果我需要输入更多信息,请发表评论,我会补充。

最佳答案

因此没有官方答案,Composer 和 GKE 的 Slack channel 都无法提供帮助。真正的问题是二进制文件不在 Composer 上。现在最好的答案是手动 ssh 到你所有的 GKE airflow-workers 并自己安装谷歌浏览器:https://linuxize.com/post/how-to-install-google-chrome-web-browser-on-ubuntu-18-04/

然后将您安装的正确版本的 Chrome 的 chromedriver 放在 dags/dependencies 文件夹中,并在实例化 Webdriver 对象时引用它。希望这对您有所帮助!

关于python-3.x - 如何在 Google Cloud Composer 中设置 chromedriver 的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56743073/

相关文章:

azure - 运行管道测试时出现无效的按需测试运行运行 ID 0 错误

python - 有没有办法在 Windows 上使用 gradle 编译 python proto

python - 删除谷歌驱动器文件时权限不足错误

amazon-web-services - 如何使用单例类解决 AWS 模拟测试

hive - 如何禁用 Hive 表的事务?

google-kubernetes-engine - 无法将 gsutil 与 GKE 集群的工作负

visual-studio-code - 寻找用于 i18n 资源包编辑的 visual studi

linux - devtoolset-7 STL_vector.h 未定义对 `std::__thr

c - 如何使用 DejaGnu 设置单元测试

amazon-web-services - 如何终止到 elb 的 HTTPS 流量并且容器正在运行