【问题标题】:Is it possible to set chrome webdriver file as URL?是否可以将 chrome webdriver 文件设置为 URL?
【发布时间】:2019-02-25 13:41:21
【问题描述】:

我有这个代码来设置系统属性:

System.setProperty("webdriver.chrome.driver", "src\\main\\resources\\driver\\chromedriver.exe");

是否可以在 GitHub 中存储 chromedriver 可执行文件并在不同的项目中使用它?像这样的:

System.setProperty("webdriver.chrome.driver", "https://path_to_file/chromedriver.exe");

【问题讨论】:

标签: java selenium selenium-webdriver webdriver selenium-chromedriver


【解决方案1】:

开源WebDriverManager 可能是最接近您要求的解决方案。

WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();

如果需要,此代码将负责为您的平台下载正确的 webdriver 可执行文件并设置环境。

【讨论】:

    【解决方案2】:

    我认为这是不可能的,因为:

    WebDriver 使用协议与浏览器进行通信,它被称为WebDriver JSON Wire Protocol,实际上是一个RESTful 网络服务,使用JSON over HTTP

    下面是它如何工作的解释: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol

    因此,根据需要使用驱动程序,您应该在外部源上运行 driver.exe,并且应该通过 selenium 与其通信。 您想要做的唯一方法就是改进并向 selenium 的源代码添加大量代码。

    【讨论】:

      【解决方案3】:

      首先hhttps://path_to_file/..URL,在会话中称为网址 是对web resource 的引用,它指定了它在计算机网络上的位置以及检索它的机制。 URL 是Uniform Resource Identifier (URI) 的特定类型。 HTTP protocol 启用/允许客户端应用程序(通常是 Web 浏览器)创建 HTTP 请求,其中包含它想要联系以进行信息交换的网站名称。


      chromedriver 可执行位置

      Troubleshooting - ChromeDriver 中提到,

      chromedriver 可执行文件的路径必须由webdriver.chrome.driver 系统属性设置,并且 chromedriver 二进制文件必须在系统路径中。

      因此,Selenium 的客户端期望 WebDriver 可执行文件位于 PATH 中,即要添加的 WebDriver 可执行文件的位置在 OS 本机 PATH 变量中。


      结论

      因此可以得出结论,不可能将 WebDriver 可执行文件存储在 GitHub 中并在不同的项目中使用它


      琐事

      甚至 WebDriver 可执行文件,例如如果从网络路径访问 ChromeDriverGeckoDriver,它们将不会被初始化。详细讨论可以在CreatePlatformSocket() returned an error: An invalid argument was supplied. (0x2726) when trying to access chromedriver through network path

      【讨论】:

      • 驱动程序不必在 PATH 中……如果在设置属性时没有完全指定,它只需要在 PATH 中。这个答案的前半部分是在解释 OP 已经知道的东西......他称之为 URL ......你为什么要解释 URL 是什么?这个问题应该已经复制到您的琐事部分中的链接。
      猜你喜欢
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2011-12-18
      • 2018-10-31
      • 2020-06-14
      • 2020-11-06
      • 2020-07-27
      • 2020-12-17
      相关资源
      最近更新 更多