微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法启动Symfony Panther

如何解决无法启动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.

解决方法

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

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

您需要更新升级Chrome客户端

  1. 转到供应商/ symfony / panther / chromedriver-bin 有4种Chrome驱动程序(Win,Linux,Mac,Debian)
  2. 在Linux中,只需运行update.sh,它就会自动更新
  3. 在Windows中->请遵循并下载最新的Chrome驱动程序(我的名称存在问题,请检查新下载的驱动程序名称是否完全是chromedriver.exe,否则不起作用,请在80 chromedriver.exe上重写新的85版本chromedriver.exe){ {3}}
  4. 祝您抓取,抓取或仅进行网页测试。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。