https://chromedriver.chromium.org/downloads https://chromedriver.storage.googleapis.com/index.html?path=81.0.4044.138/
我也遇到了类似的问题。我找到了解决方案...下载匹配的chromedriver,将chromedriver放置在/usr/local/bin路径下即可。它有效。
rsDriver(browser = "firefox")
对于在 Chrome/Chromium 版本114之后运行 Laravel Dusk 遇到此问题的任何人来说,这很可能是由于Google更改了上游URL引起的。
特别针对 Laravel Dusk,这个问题似乎已经在这个 这里的Dusk问题中得到修复,所以从理论上讲,为了正确修复这个问题,只需要执行 composer require laravel/dusk --with-all-dependencies
,但至少在我的情况下,这将会更新许多依赖项,并且很有可能破坏我的应用程序。我已经在该问题上询问了对于一个遗留的 Laravel 应用程序(我这里是 Laravel 8)应采取的最佳措施,但与此同时:降级 Chrome/Chromium 浏览器和 Chrome 驱动至 v114 应该是一个足够好的解决方法。
这说起来容易做起来难,在 GitHub Actions 上花了我一整天的时间才成功找到如何实现,在你的工作流文件中添加以下内容应该就足够让你的构建重新运行:
- name: Downgrade Chrome browser to v114
uses: browser-actions/setup-chrome@v1
with:
chrome-version: 1134343 # Last commit number for Chrome v114
id: setup-chrome
- run: sudo ln -fs ${{ steps.setup-chrome.outputs.chrome-path }} /usr/bin/google-chrome
- name: Downgrade Chrome driver to v114
run: php artisan dusk:chrome-driver `/usr/bin/google-chrome --version | cut -d " " -f3 | cut -d "." -f1`
对于Mac用户来说,这是解决问题的最佳方法, 下载chromedriver, 然后将该chromedriver粘贴到此目录中
/usr/local/bin
我所采取的步骤使其正常工作
重新启动应用程序即可。
查看您当前的Chrome版本,请转到设置→关于Chrome。 转到网址 https://chromedriver.chromium.org/downloads 下载并使用兼容版本。
当Chrome驱动程序没有正确关闭时,我遇到了这个错误。例如,如果我尝试查找某些内容并单击它,但它不存在,则驱动程序会抛出异常并在那里结束线程(我没有关闭驱动程序)。
因此,当我稍后再次运行相同的方法并需要重新初始化驱动程序时,驱动程序未初始化并抛出了异常。
我的解决方法很简单,就是将Selenium任务包装在try catch中,并正确关闭驱动程序。
这与Python无关,但对于C#或dotnet用户,您可以在nuget包中指定驱动程序版本。例如,Selenium.WebDriver.ChromeDriver
是一个很好的起点。它应该与浏览器版本匹配。在Chrome中,您可以通过访问 chrome://settings/help
来检查版本。
请注意,这也会影响管道代理和其他开发人员计算机上的Chrome版本。