facebook/php-webdriver 无头下载

facebook/php-webdriver headless downloads

关于 facebook/php-webdriver 在非无头时成功下载文件,而在无头时同样的操作失败的帖子有很多。我正在为该库 (facebook/php-webdriver) 寻找 RemoteWebdriver 无头下载的成功实现。

以下文章表明该库尚不具备设置自定义命令的灵活性 ("Page.setDownloadBehavior"),这可能是成功的无头下载所需要的。但我还没有在 PHP.

中看到可行解决方案的示例

https://github.com/facebook/php-webdriver/issues/605

有什么可行的解决方案吗?谢谢。

我的一位同事在 Chrome/Chromium 浏览器中发现了一个很好的解决这个缺点的方法:

We banged our heads against the wall for weeks trying to get --headless to work with downloads. Here is specifically what we did:

  1. 安装 Xvfb

    sudo apt-get install xvfb

  2. 开始屏幕会话
  3. 启动Xvfb进程提供虚拟显示

    Xvfb :1 -screen 5 1024x768x8 &

  4. 在屏幕会话中添加 DISPLAY 环境

    export DISPLAY=:1.5

  5. 启动 chromedriver(它将在其环境中显示)

    chromedriver &

现在任何由 chromedriver 启动的 chromium-browser 进程都将继承 DISPLAY 并使用 Xvfb 虚拟显示器。