下面的代码使用Selenium自动化浏览器。
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\trainee\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("https:\\www.google.com");
//driver.manage().window().maximize();
String str=driver.getCurrentUrl();
System.out.println(str);
String abc=driver.getTitle();
System.out.println(abc);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.MINUTES);
driver.findElement(By.id("lst-ib")).click();
driver.findElement(By.id("lst-ib")).sendKeys("Gmail");
driver.findElement(By.id("lst-ib")).submit();
}
当我执行代码时,我收到此错误:
java.illegalstateexception:驱动程序可执行文件的路径必须是 由webdriver.ie.driver系统属性“。
设置
我在系统中安装的chrome驱动程序的代码中给出了正确的路径,即使我遇到了这个问题。请帮帮我。
答案 0 :(得分:1)
将驱动程序放在某个位置,例如C:\ Selenium \ iexploredriver.exe。您可以从here下载IE驱动程序。
然后
File file = new File("C:/Selenium/iexploredriver.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver();
希望它会对你有所帮助。
答案 1 :(得分:1)
在这一行----> " System.setProperty(" webdriver.chrome.driver"," C:\ Users \ trainee \ Downloads \ chromedriver_win32 \ chromedriver.exe"); 从chrome驱动程序的路径中删除扩展名(.exe)
尝试删除.exe扩展名
System.setProperty(" webdriver.chrome.driver"," C:\ Users \ trainee \ Downloads \ chromedriver_win32 \ chromedriver");
答案 2 :(得分:0)
处理此问题的最简单方法是将webdriver可执行文件的路径添加到PATH环境变量中。
这样,您不必担心代码中的驱动程序可执行文件的位置,而是担心环境配置。
如果是chrome和firefox,可以在windows,mac和linux上移植,你可以在任何上述操作系统上运行你的selenium代码而不指定驱动程序的路径但是正确配置你将运行测试的环境on(在PATH env var中放置可执行文件的路径)。