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

问题描述 投票:0回答:1

我必须在将使用selenium和firefox的linux网络服务器上构建一个Web应用程序。当我在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 access.log中,它生成一个http 200,但error.log上没有任何内容在geckodriver.log中产生:

Listening on port 41209

环境详细信息:

  • 硒= 3.8.0
  • geckodriver = 0.18.0
  • Firefox版本53
  • python = 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;
    }
}

imageDetectionApplication.service

我在linux服务器上是一个全新的人……!

python selenium selenium-webdriver firefox geckodriver
1个回答
0
投票

此错误消息...

Message: Unable to find a matching set of capabilities

...表示GeckoDriver无法启动/产生新的Browsing Context,即Firefox Browser会话。

您的主要问题是正在使用的二进制版本之间的incompatibility,如下所示:

  • 您的Selenium Client版本是3.8.0,几乎比[[2.5年大。
  • 您的
  • JDK版本对我们来说是[[未知。
  • 您的GeckoDriver版本是
  • 0.18.0
  • ,它较旧。您的Firefox版本是
  • 53
  • ,它也很旧。
所以Selenium Client v3.8.0

GeckoDriver v0.18.0

Firefox Browser v53]之间明显不匹配解决方案
确保:

  • 升级到当前水平Version 3.141.59
  • GeckoDriver
  • 升级到GeckoDriver v0.26.0等级。
  • Firefox
  • 已升级到当前的
  • Firefox v72.0级别。GeckoDriver存在于所需位置。
  • GeckoDriver具有非root用户的可执行权限。
  • Clean
  • 您的
  • Project Workspace
  • 通过您的IDERebuild您的项目仅具有必需的依赖项。如果您的基本Web Client版本太旧,则将其卸载以安装最新的GA和
  • Web Client
  • 的发行版本。
    进行系统重启。
  • 以非root用户身份执行Test。>>总是在driver.quit()方法中调用tearDown(){}以正常关闭并销毁
  • WebDriver
  • Web Client
  • 实例。
    参考
    您可以在以下位置找到几个相关的讨论:

    Selenium “Unable to find a matching set of capabilities” despite driver being in /usr/local/bin

    © www.soinside.com 2019 - 2024. All rights reserved.