当前位置: 首页 > 面试题库 >

CreatePlatformSocket()返回错误:提供了无效的参数。(0x2726)尝试通过网络路径访问chromedriver时

翟学文
2023-03-14
问题内容

我了解操作系统更新不仅导致chromedriver引起问题,也导致了geckodriver。

当更新的工作站在本地运行它们时,chromedriver和geckodriver都可以毫无问题地启动(例如,驱动器C:\)。当在网络路径中找到这两个时,就会出现问题。

我已经检查了运行这些驱动程序的特定用户的权限,还检查了UAC和防火墙,但它们似乎与问题无关。

为了维护起见,我更喜欢从网络路径运行驱动程序。因为,我有几个自动化站,所以我想集中基础架构。这样,我不需要维护每个站点的基础设施。

我正在使用默认设置运行两个驱动程序,而没有使用它们的选项,我相信也许使用这些选项可以解决问题。

有人熟悉这些问题吗?通过使用驱动程序的选项,是否可以安全地传递这些问题?

顺便说一下,我在Windows 10专业版上运行:1803操作系统内部版本:17134.1

chromedriver版本是2.40.565498 win32,而geckodriver版本是v0.20.1-win64

我收到的错误消息是:

chromedriver

[1530079175.164][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726)
[1530079175.165][INFO]: listen on IPv4 failed with error ERR_INVALID_ARGUMENT
[1530079175.166][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726)
[1530079175.166][INFO]: listen on IPv6 failed with error ERR_INVALID_ARGUMENT

壁虎

An invalid argument was supplied. (os error 10022)

问题答案:

正如您提到的:

  • 在本地执行时, ChromeDriverGeckoDriver可以 正常 启动(例如C:\驱动器)
  • 在网络路径中找到 ChromeDriverGeckoDriver 时会出现问题。

历史上,根据讨论:

  • CreatePlatformSocket()返回错误:提供了无效的参数。(0x2726)端口不可用。退出……使用chromedriver和Selenium 3.2
  • CreatePlatformSocket()返回错误:提供了无效的参数。(0x27t6)端口不可用。在Selenium Webdriver中退出…

已经观察到 ChromeDriverGeckoDriver 在网络上共享时,在初始化各自的 浏览器客户端时 ,观察到以下错误:

  • 样品A:
        Starting ChromeDriver 2.28.455520 (cc17746adff54984afff480136733114c6b3704b) on port 12121
    Only local connections are allowed.
    [0.023][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726)
    [0.023][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726)
    Port not available. Exiting...
    Mar 11, 2017 9:13:06 PM org.openqa.selenium.os.UnixProcess checkForError
    SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
  • 样品B:
        [0.147][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726) 
    [0.147][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x27t6) 
    Port not available. Exiting...
  • 样品C:
        Starting ChromeDriver 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb) on port 17873
    Only local connections are allowed.
    [1525873930.811][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726)
    [1525873930.816][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726)
    Port not available. Exiting...
    May 09, 2018 7:22:30 PM org.openqa.selenium.os.UnixProcess checkForError
    SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
  • 乃至:
        //chromedriver
    [1530079175.164][SEVERE]: CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726)
    [1530079175.165][INFO]: listen on IPv4 failed with error ERR_INVALID_ARGUMENT

    //geckodriver
    An invalid argument was supplied. (os error 10022)

    //IEDriverServer
    Failed to start the server with: port = '2305', host = '', log level = '', log file = '', whitelisted ips = ''

因此,一种通用的解决方案是通过将 ChromeDriver 和 _GeckoDriver_放入主机的本地驱动器来访问它们。



 类似资料:
  • 问题内容: 我经常碰巧处理可以是数组或null变量的数据,并用这些数据提供一些数据。 当为foreach提供非数组数据时,会收到警告: 警告:[…]中为foreach()提供了无效的参数 假设无法重构该函数以始终返回数组(向后兼容性,不可用的源代码,无论其他原因),我想知道哪种方法最有效,最有效的避免了这些警告: 转换为数组 初始化为数组 包裹有 其他(请建议) 问题答案: 我个人认为这是最干净的

  • 我试图测试一个控制器的方法,并得到适当的异常。它仅对ConstraintViolationExcture(javax.validation)失败,而对其他测试(如MisSingServletRequest estParameterExcture或METHOArgumentTypeMismatchExcture)则按预期工作。 下面是我的代码的一部分,在控制器(@验证)中,在我添加这些注释的方法中。

  • 问题内容: 在Windows XP计算机上安装的PHP(XAMPP)中,试图读取本地网络服务器上存在的目录。我用来检查它是否是我可以读取的目录。 在Windows资源管理器中,键入并显示该目录。当我映射网络驱动器时,也可以访问它。 在PHP中,我具有该脚本: 因为我尝试过: 和 但是我没有成功吗?任何的想法?谢谢 问题答案: 我通过更改服务器注册表中的某些内容来解决该问题,如本次讨论的最后一个答案

  • 我正在使用nginx和react。我的nginx.conf文件 根据此配置,nginx为所有路由服务200。假设我的路线是 现在假设有人输入错误的url 在这种情况下,我想抛出404而不落地到nginx级别本身的应用程序。这是否可能在nginx级别处理路由和发送404尽管200和比在REACTE级别处理。 我发现要在nginx级别限制任何特定的路由,我们可以使用下面的代码来实现 但我想限制所有对我

  • 我复制了一个正在工作的laravel应用程序,并将其重命名为用于另一个应用程序。我删除了供应商文件夹,并再次运行以下命令: 我已正确配置了路线和所有内容,但现在,当我尝试在浏览器中运行应用程序时,出现以下错误: Compiler.php第36行中的InvalidArgumentException:请提供有效的缓存路径。 Filesystem.php第111行中出现错误异常:文件内容(F:\www\

  • 我有一个Google App Engine应用程序,其中数据存储在Google Cloud Datastore中。我想使用Dataflow将部分数据放入BigQuery,但我想我应该从从Datastore获取一些信息并将其写入Google Cloud Storage开始。我的代码如下所示: 但是,当我尝试运行它时,我在进行Datastore查询时收到403个错误: 我使用Google Cloud