【问题标题】:Is there any way to easily add ChromeDriver to a program有什么方法可以轻松地将 ChromeDriver 添加到程序中
【发布时间】:2021-08-15 21:13:03
【问题描述】:

我发现自己经常使用 Selenium 进行网络自动化,所以我最终也经常使用 ChromeDriver。我目前如何将它添加到我的所有项目中是我制作 chromedriver.exe 的副本并将副本添加到我的所有项目中。然后我用以下代码告诉我的程序 chromedriver.exe 在哪里:

String userPath = System.getProperty("user.dir");
System.setProperty("webdriver.chrome.driver", userPath + "/chromedriver.exe");

为每个项目制作一个新的 .exe 很烦人,我想知道是否有更好的方法

我知道很多人建议在您的计算机上放置一个 chromedriver.exe,然后设置驱动程序的路径并执行以下操作:

System.setProperty("webdriver.chrome.driver", "C:\\Users\\User\\Path\\chromedriver.exe");

我的问题是,如果我想将程序移动到另一台计算机或服务器上,我需要将此路径更改为 chromedriver.exe 的新实例。

我想知道是否可以将 chromedriver 上传到 github,然后设置存储 chromedriver.exe 的存储库的路径,所以你可能会有这样的东西:

System.setProperty("webdriver.chrome.driver", "https://github.com/Tryanno5/chromeDriver/blob/main/chromedriver.exe");

(这个不行,我已经试过了,这只是一个例子)

有什么方法可以让 chromedriver.exe 在线访问它吗? 或者有没有更好的方法可以将它引入所有项目,而不必总是在我的计算机上引用特定的副本?

【问题讨论】:

标签: selenium github selenium-chromedriver


【解决方案1】:

你试过WebDriverManager检查here

添加依赖

<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.3.0</version>
</dependency>

设置驱动程序

WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com")

【讨论】:

  • 这很完美,这正是我想要的。我可以轻松地将 ChromeDriver 添加到我的项目中。我会说我仍然需要为每个项目添加 maven 依赖项,但这比将 ChromeDriver 的副本复制并粘贴到每个项目中要容易得多。非常感谢!
【解决方案2】:

如果是 python,会更容易,因为有一个自动安装 API,见这里 -

安装

pip install chromedriver-autoinstaller

用法

Just type import chromedriver_autoinstaller in the module you want to use chromedriver.

示例

from selenium import webdriver
import chromedriver_autoinstaller


chromedriver_autoinstaller.install()  # Check if the current version of chromedriver exists
                                      # and if it doesn't exist, download it automatically,
                                      # then add chromedriver to path

driver = webdriver.Chrome()
driver.get("http://www.python.org")
assert "Python" in driver.title

查看这里more

【讨论】:

  • 感谢您的回答,不幸的是我正在使用Java,所以我无法使用此解决方案
猜你喜欢
  • 1970-01-01
  • 2015-01-17
  • 1970-01-01
  • 2010-10-27
  • 1970-01-01
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 2019-05-23
相关资源
最近更新 更多