我有以下硒代码:
System.setProperty("webdriver.chrome.driver", "MYPATH\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get(MYURL);
我想知道:如果要使用try/catch
方法,如果在路径中找不到chromedriver.exe
,是否有特定的异常来处理程序?
我想到的唯一例外是基本的WebDriverException
,但我已经将其用于其他目的。
答案 0 :(得分:0)
设置或获取属性不会引发异常。它也与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
类的实例。第一个参数是路径,第二个参数是文件名。
然后,我们检查此文件是否存在。如果不是,请抛出未经检查的异常。
如果文件不存在,您可以更改代码以执行其他操作。