消息:在实时服务器上加载时,使用 Selenium 和 GeckoDriver 时找不到匹配的功能集错误



我必须在Linux网络服务器上构建一个Web应用程序,该应用程序将使用Selenium和Firefox。当我运行应用程序时,linux服务器"localhost:5000"它工作得很好。但是当我尝试使用"127.0.0.1:80"时,它在网络驱动程序加载过程中没有给我错误:

driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')

错误:

"Message: Unable to find a matching set of capabilities"  

在nginx访问中.log它正在生成一个http 200,没有任何错误.log 在Geckodriver中.log它产生:

Listening on port 41209

环境详情:

  • 硒 = 3.8.0
  • 壁虎驱动程序 = 0.18.0
  • 火狐版本 53
  • 蟒蛇 = 3.6

nginx imageApp.conf

server {
listen 80;
server_name 127.0.0.1;
location / {
include proxy_params;
proxy_pass http://unix:/home/administator/imageDetectionApplication/imageDetectionApplication.sock;
}
}

图像检测应用.服务

我是Linux服务器的新手...!!

此错误消息...

Message: Unable to find a matching set of capabilities

。意味着壁虎驱动程序无法启动/生成新的浏览上下文,即Firefox 浏览器会话。

您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:

  • 您的Selenium客户端版本是3.8.0,几乎早了2.5年
  • 我们不知道您的JDK 版本
  • 您的壁虎驱动程序版本是0.18.0,这是较旧的。
  • 您的Firefox版本是53,这也相当旧。

所以Selenium客户端v3.8.0壁虎驱动程序v0.18.0Firefox浏览器v53之间存在明显的不匹配


溶液

确保:

  • JDK已升级到当前级别 JDK 8u251。
  • 已升级到当前级别 版本 3.141.59。
  • GeckoDriver升级到 GeckoDriver v0.26.0 级别。
  • Firefox
  • 已升级到当前的Firefox v72.0级别。
  • 壁虎驱动程序存在于所需位置。
  • GeckoDriver 具有非 root 用户的可执行权限。
  • 通过IDE清理项目工作中心,并仅使用所需的依赖项重新生成项目。
  • 如果基本 Web 客户端版本太旧,请卸载它,安装最新的 GA 和已发布版本的Web 客户端
  • 重新启动系统
  • 以非 root 用户身份执行Test
  • 始终在方法中调用driver.quit()tearDown(){}以正常关闭和销毁WebDriverWeb 客户端实例。

引用

您可以在以下位置找到一些相关的讨论:

  • Selenium"无法找到匹配的功能集",尽管驱动程序位于/usr/local/bin中
  • selenium.common.exceptions.SessionNotCreatedException: 消息:无法找到与 Firefox 46 到 Selenium 匹配的功能集
  • Selenium WebDriver,Firefox,Centos,找不到匹配的功能集
  • 无法找到与硒 3.4.3、Firefox 54.0 和壁虎驱动程序 0.17 匹配的功能集
  • selenium.common.exceptions.SessionNotCreatedException: 消息:找不到与 GeckoDriver、Selenium 和 Firefox 匹配的功能集

最新更新