我有以下 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/