当前位置: 首页 > 知识库问答 >
问题:

未能在45000内启动套接字

杨昊
2023-03-14

我使用的是FF版本19

直到昨天一切都很好,今天早上我突然发现了这个错误,我的代码和之前运行的代码一样,没有任何改变

错误消息:

Test 'M:.TestCases.12' failed: Failed to start up socket within 45000
    OpenQA.Selenium.WebDriverException: Failed to start up socket within 45000
    at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.ConnectToBrowser(Int64 timeToWaitInMilliSeconds)
    at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start()
    at OpenQA.Selenium.Firefox.FirefoxDriver.StartClient()
    at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile, TimeSpan commandTimeout)
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile)
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxProfile profile)

0 passed, 1 failed, 0 skipped, took 145.80 seconds (Ad hoc).

以下是我的源代码:

public static IWebDriver GetDriver()
        {
            switch (Common.BrowserSelected)
            {
                case "ff":
                    FirefoxProfile profile = new FirefoxProfile();
                    profile.SetPreference("network.http.phishy-userpass-length", 255);
                    profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", url);
                    drv = new FirefoxDriver(profile);
                    break;
                case "ie":
                    var options = new InternetExplorerOptions();
                    options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
                    DesiredCapabilities capabilities = new DesiredCapabilities();
                    capabilities.SetCapability(CapabilityType.AcceptSslCertificates, true);
                    drv = new InternetExplorerDriver(options);
                    break;
                case "chrome":
                    //_driver = new ChromeDriver();
                    break;
            }
            return drv;
        }

共有3个答案

罗烨霖
2023-03-14

若升级Webdriver并没有帮助,你们可以降级FireFox,这将解决这个问题。

皇甫敏达
2023-03-14

我对Firefox43和Selenium 2.48有这个问题。当您的Selenium驱动程序服务器在32位进程中运行,并且您启动64位版本的Firefox时,就会发生这种情况。

原因是webdriver服务器试图连接到端口7055,该端口应由在Firefox可执行文件中运行的webdriver打开。但是您可以从www.sysinternals的TcpView中看到。com表示Firefox未打开此端口。因此,驱动程序等待超时时间(45秒)过去。

即使完全关闭Windows防火墙,也会发生这种情况。

我在互联网上找到的所有帖子都没有帮助:升级Selenium,降级Firefox等等。。

但是在安装了32位版本的Firefox43之后,它就可以工作了。我在TcpView中看到Firefox 32位如何正确打开端口:

在我的代码中我使用

FirefoxProfile Prof = new FirefoxProfile();
FirefoxBinary  Bin  = new FirefoxBinary(sBrowserExe);
mDriver = new FirefoxDriver(Bin, Prof);

使用sBrowserExe=“C:\Program Files\Mozilla Firefox 43\Firefox.exe”启动64位版本的Firefox 43,我得到超时异常。

随着sBrowserExe="C:\Program Files(x86)\Mozilla Firefox 43\firefox.exe"32位版本的Firefox 43启动,它的工作原理!

更新:火狐的开发者现在完全打破了硒的支持。48个以上的新火狐版本需要一个数字签名才能安装所有扩展。

https://wiki.mozilla.org/Addons/Extension_Signing

我不明白的是,为什么Selenium用户无法获得当前Selenium驱动程序的签名??

Firefox 47.0版有一个bug,不允许与Selenium一起使用。此错误已在47.0.1版中修复。

48.0及以上版本的Firefox不再安装旧的Selenium驱动程序。它们必须由木偶(=壁虎)驱动器自动控制

问题是,木偶仍然是测试版,并且有很多缺失的功能,因此目前还没有解决方案来自动化新的Firefox版本。

正如您在这里看到的,新驱动程序充满了bug:https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver/status

胡嘉歆
2023-03-14

Selenium的最新版本中增加了火狐19的支持。所以既然你在用。NET,这篇文章发布时最新的直接下载版本是2.31.2:

硒释放。存储古格里皮斯。com/index。html

 类似资料:
  • 异常堆栈跟踪: OpenQA。硒。WebDriverException:未能在45000毫秒内启动套接字。尝试连接到以下地址:OpenQA的127.0.0.1:7055。硒。火狐。FirefoxDriverServer。在OpenQA上连接浏览器(TimeSpan timeToWait)。硒。火狐。FirefoxDriverServer。在OpenQA上启动()。硒。火狐。FirefoxDrive

  • 问题内容: 我收到此错误: 当我在代码中执行以下操作时: 真的无法简单得多,但是错误是致命的。有任何想法吗? 问题答案: 我最终完成了这项工作,删除了NuGet在安装WebDriver时添加的所有软件包子文件夹,并决定手动添加它们。创建一个“ lib”文件夹,然后将硒二进制文件解压缩到该文件夹​​中。然后添加对所有二进制文件的引用。现在看来还好。

  • 这是我第一次和docker合作。我有一个laravel web套接字网站(php laravel postgresql),需要放入一个容器。如果我只是执行命令(没有docker): php工匠服务 php artisan WebSocket:服务 然后它成功地工作: Websockets仪表板http://127.0.0.1:8000/laravel-WebSocket 我做了一个docker安装

  • 我正在部署一个带有CMD行的Docker映像: 在日志中,它看起来像: 出现以下错误: 我应该在配置中更改什么?

  • 问题内容: 我在启用PHP中的套接字传输“ ssl”时遇到麻烦。运行脚本时,出现错误: 警告:fsockopen()[function.fsockopen]:无法连接到ssl://www.my.site.com:443(无法找到套接字传输“ ssl”-配置PHP时是否忘记启用它? ) 我正在Windows上运行IIS6,这是我到目前为止为使其正常工作所做的工作: 取消对php.ini中的php_o

  • 我正在heroku部署一个python脚本,它将在每