我正在尝试使用php-chrome
库来自动化一些功能。
我需要chromium.chromedriver
在我的服务器上安装使用。
所以我安装了这些应用程序。
root@afs2:~#: google-chrome --version
Google Chrome 116.0.5845.140
和
root@afs2:~# chromedriver --version
ChromeDriver 116.0.5845.96 (1a391816688002153ef791ffe60d9e899a71a037-refs/branch-heads/5845@{#1382})
但是当我尝试使用 chromedriver 时,出现以下错误:
致命错误:未捕获的 RuntimeException:Chrome 进程在启动完成前停止。附加信息:cmd_run.go:1046:警告:无法创建用户数据目录:无法更新“/var/www/snap/chromium/current”的“当前”符号链接:删除 /var/www/snap/chromium/current:权限被拒绝抱歉,/home 之外的主目录需要配置。请参阅https://forum.snapcraft.io/t/11209了解详情。在 /var/www/afsv.com/vendor/chrome-php/chrome/src/Browser/BrowserProcess.php:410 堆栈跟踪:#0 /var/www/afsv.com/vendor/chrome-php/chrome/src/Utils.php(60): HeadlessChromium\Browser\BrowserProcess->HeadlessChromium\Browser{closure}() #1 /var/www/afsv.com/vendor/chrome-php/chrome/src/Browser/BrowserProcess.php(450): HeadlessChromium\Utils::tryWithTimeout() #2 /var/www/afsv.com/vendor/chrome-php/chrome/src/Browser/BrowserProcess.php(139): HeadlessChromium\Browser\BrowserProcess->waitForStartup() #3 /var/www/afsv.com/vendor/chrome-php/chrome/src/BrowserFactory.php(81): HeadlessChromium\Browser\BrowserProcess->start() #4 /va 位于 /var/www/afsv.com/vendor/chrome-php/chrome/src/Browser/BrowserProcess.php 第 410 行
有人知道我该如何解决这个问题吗?
提前致谢
答案1
鉴于你正在使用,我最好的猜测是你在终端中第一次运行时chrome-php
遇到了问题。\HeadlessChromium\BrowserFactory
输入 google-chrome
你应该得到类似
google-chrome is /snap/bin/google-chrome
然后从中获取路径并将其提供给您的 BrowserFactory:
$browserFactory = new \HeadlessChromium\BrowserFactory('/snap/bin/google-chrome');
并且鉴于您的google-chrome --version
工作,BrowserFactory 也应该能够与这个 google-chrome 二进制文件一起工作:)