Java Selenium如何为新的驱动程序设置动态变量



我知道在java中不可能使用条件块中的变量。但是我不知道该怎么办。当我这样做的时候,我在if语句后面的代码出现了一个错误:

public static void startDriver(String preferredBrowser) throws Exception{
Webdriver driver;
if(preferredBrowser.equals("Firefox")){
} 
else if(preferredBrowser.equals("Edge")){
}
else{
System.setProperty("webdriver.chrome.driver",  driverPath);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
driver = new ChromeDriver(options);
}
driver.manage().window().maximize();
driver.get(website);
}

这就是我试图解决的问题,但现在它确实同时为我打开了两个驱动程序:

public static void startDriver(String preferredBrowser) throws Exception{
System.setProperty("webdriver.chrome.driver",  driverPath);
WebDriver driver = new ChromeDriver();
if(preferredBrowser.equals("Firefox")){
} 
else if(preferredBrowser.equals("Edge")){
}
else{
System.setProperty("webdriver.chrome.driver",  driverPath);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
driver = new ChromeDriver(options);
}
driver.manage().window().maximize();
driver.get(website);
}

我希望你能帮我。

致以最诚挚的问候

基督教

您可以初始化每个preferredBrowser的驱动程序类型,如下所示:

public static void startDriver(String preferredBrowser) throws Exception{
Webdriver driver;
if(preferredBrowser.equals("Firefox")){
driver = new FirefoxDriver();
} 
else if(preferredBrowser.equals("Edge")){
driver = new EdgeDriver();
}
else{
System.setProperty("webdriver.chrome.driver",  driverPath);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
driver = new ChromeDriver(options);
}
driver.manage().window().maximize();
driver.get(website);
}

最新更新