当我尝试创建Simple Chrome Driver对象时获取java.lang.IllegalAccessError

时间:2018-03-13 09:59:30

标签: java selenium selenium-webdriver

package org.apache.maven.artifact;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
//import org.openqa.selenium.firefox.*;
//import org.openqa.selenium.ie.*;

public class App {

    public static void main(String[] args) {
        System.out.println("Hi");
        System.setProperty("webdriver.chrome.driver",
                "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
        System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");
        System.setProperty("webdriver.ie.driver", "C:\\Program Files\\Internet Explorer\\iexplore.exe");
        // WebDriver driver = new InternetExplorerDriver();
        WebDriver driver = new FirefoxDriver();
        // WebDriver driver = new ChromeDriver();
        // driver.manage().window().maximize();
        driver.get("https://www.google.co.in");
        driver.findElement(By.name("email")).sendKeys("admin");
        driver.findElement(By.name("password")).sendKeys("admin");
        driver.findElement(By.name("submit")).click();
    }
}

对于IE和Firefox,将Java异常作为连接拒绝。 对于铬获取

  

:java.lang.IllegalAccessError:尝试访问方法   com.google.common.util.concurrent.SimpleTimeLimiter(Ljava / util的/并行/ ExecutorService的):V   来自org.openqa.selenium.net.UrlChecker类

1 个答案:

答案 0 :(得分:0)

使用 Selenium v​​3.x 时,您必须下载GeckoDriverChromeDriverIEDriverServer并存储在您的系统中。接下来,你必须提到 GeckoDriver ChromeDriver IEDriverServer 的绝对路径,通过System.setProperty()直到 < / strong>以下选项(但不是全部):

System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\geckodriver.exe");
//or
System.setProperty("webdriver.gecko.driver", "C:\\path\\to\\chromedriver.exe");
//or
System.setProperty("webdriver.ie.driver", "C:\\path\\to\\IEDriverServer.exe")

System.setProperty()

java.lang.System.setProperty()方法设置由指定的指示的系统属性。

  • 宣言:

    public static String setProperty(String key, String value)
    
  • 参数:

    key - This is the name of the system property.
    value - This is the value of the system property.
    
  • 例外:

    • SecurityException - 如果存在安全管理器且其checkPermission方法不允许设置指定的属性。

    • NullPointerException - 如果key或value为null。

    • IllegalArgumentException - 如果key为空。

现在,根据System.setProperty()行,您可以按如下方式初始化匹配的 WebDriver 实例:

WebDriver driver = new InternetExplorerDriver();
//or
WebDriver driver = new FirefoxDriver();
//or
WebDriver driver = new ChromeDriver();