java - 如果路径中不存在,则尝试/捕获网络驱动程序

标签 java selenium webdriver

我有以下 Selenium 代码:​​

System.setProperty("webdriver.chrome.driver", "MYPATH\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get(MYURL);

我想知道:如果我想使用try/catch方法,如果在路径中找不到chromedriver.exe,是否有特定的异常来处理程序?

我想到的唯一异常(exception)是基本的WebDriverException,但我已经将它用于其他目的。

最佳答案

设置或获取属性不会引发异常。它还与System有关,而不是与Selenium本身有关。

System.setProperty 与 chromedriver 一起使用将设置 chromedriver 的路径,即使它不存在。

使用不存在的属性的 System.getProperty 将返回 null。

您可以通过多种方式检查该属性是否设置。但是,如果您想检查提供的路径中是否存在 chromedriver.exe,我会这样做:

String myPath = "src/test/java";
File chromedriverFile = new File(myPath, "chromedriver.exe");
if (!chromedriverFile.exists()) {
    throw new RuntimeException(String.format("chromedriver.exe does not exist in path: %s", myPath));
}

我们将路径保存到变量中。然后,我们创建了 File 类的实例。第一个参数是路径,第二个参数是文件名。 然后我们检查这个文件是否存在。如果不是 - 抛出未经检查的异常。

无论文件是否存在,您都可以更改代码来执行其他操作。

关于java - 如果路径中不存在,则尝试/捕获网络驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55912267/

相关文章:

java - Selenium Java Chrome 在页面上的元素被禁用时发送 Enter 键

java - 从多个项目创建 JAR 文件,相互依赖

java - 为什么 Jacoco 将我的 for 循环标记为部分覆盖?

java - 无法在窗口之间切换 - 无法显示浏览器消息

python - 将 anticaptcha 与 selenium 集成

python - 如何为在 Python 中运行的 Selenium 选择自定义端口

java - 方法(String str)和方法(Final String str)有什么区别

python - 使用 getPageSource 检查网页上是否存在某些文本。我得到错误对象没有属性 getPageSource

selenium - 是否可以使用 Selenium WebDriver 来驱动 PhantomJS?

javascript - NoSuchElementError : Unable to locate element - Selenium webdriver using Javascript 错误