无法启动 Symfony Panther

Unable to start Symfony Panther

我第一次尝试使用 Symfony Panther(Symfony 5.1,Windows 10,我有 Chrome 和 Firefox),第一行已经无法正常工作。

使用 Github 文档 (Basic Usage),这是我的错误:

$client = \Symfony\Component\Panther\Client::createChromeClient();

// error : session not created: This version of ChromeDriver only supports Chrome version 80
// it's true, my Chrome version is 85. Eventually, I want to disable the sessions for it to work but I don't know how to do it.

第二次尝试使用 Firefox:

$client = \Symfony\Component\Panther\Client::createFirefoxClient();

// Error : Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line

第三次尝试使用 Firefox 和二进制文件:

$client = \Symfony\Component\Panther\Client::createFirefoxClient('C:\Program Files\Mozilla Firefox\firefox');

// my browser opens but nothing happens (blank page)
// PHP error : Could not start firefox (or it crashed) after 30 seconds.

您需要Update-upgradeChrome客户端

  1. 转到vendor/symfony/panther/chromedriver-bin 有 4 Chrome 个驱动程序(Win、Linux、Mac、Debian)
  2. 在 Linux 中 运行 update.sh 并且它会自动更新
  3. 在 Windows -> 按照并下载最新的 Chrome 驱动程序(我的名称有问题,检查新下载的驱动程序名称是否完全 chromedriver.exe 否则不起作用,重写新的 85版本 chromedriver.exe 高于您的 80 chromedriver.exe) https://sites.google.com/a/chromium.org/chromedriver/downloads
  4. 享受您的抓取、抓取或只是网页测试。

我遇到了同样的情况,我决定将驱动程序的路径放在函数中

$client = Client::createChromeClient(__DIR__.'/../../drivers/chromedriver');