java中的Selenium代码没有打开浏览器

时间:2016-10-14 02:57:10

标签: java selenium selenium-webdriver selenium-chromedriver

我是selenium的新手,并尝试通过selenium在Chrome浏览器中打开https://google.co.in(下面是代码)。但是在运行此代码后我无法看到chrome浏览器。有人能告诉我这段代码有什么问题。

这是我的代码。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Test {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "E:\\Application\\chrome.exe");
        System.out.println("Loading...");
        WebDriver driver  = new ChromeDriver();
        driver.get("http://google.co/in");
        String appTitle = driver.getTitle();
        System.out.println("Application title is :: "+appTitle);
        driver.quit();
    }
}

输出是......

Loading...

3 个答案:

答案 0 :(得分:0)

从以下链接下载chromedriver:http://chromedriver.storage.googleapis.com/2.24/chromedriver_win32.zip,解压缩&将chromedriver.exe放入“E:\ Application”并在System.setProperty("webdriver.chrome.driver", "E:\\Application\\chromedriver.exe");

中提供chromedriver的路径

答案 1 :(得分:0)

您可以使用以下库 webdrivermanager

使用此功能后,您无需为特定浏览器下载驱动程序。它会自动为您下载驱动程序并进行设置。

为了在Maven项目中使用WebDriverManager,首先将以下依赖项添加到pom.xml:

<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>1.4.10</version>
</dependency>

然后,您可以让WebDriverManager为您的应用程序/测试管理WebDriver二进制文件。看看这个使用Chrome和Selenium WebDriver的JUnit示例:

public class ChromeTest {

protected WebDriver driver;

@BeforeClass
public static void setupClass() {
    ChromeDriverManager.getInstance().setup();
}

@Before
public void setupTest() {
    driver = new ChromeDriver();
}

@After
public void teardown() {
    if (driver != null) {
        driver.quit();
    }
}

@Test
public void test() {
    // Using Selenium WebDriver to carry out automated web testing
}

}

注意简单添加ChromeDriverManager.getInstance()。setup(); WebDriverManager为您带来了魔力:

它会检查最新版本的WebDriver二进制文件

如果您的系统中没有二进制WebDriver,则会下载它

它通过Selenium WebDriver导出所需的Java变量

到目前为止,WebDriverManager支持Chrome,Opera,Internet Explorer,Microsoft Edge,PhantomJS或Marionette,如下所示:

ChromeDriverManager.getInstance().setup();
InternetExplorerDriverManager.getInstance().setup();
OperaDriverManager.getInstance().setup();
EdgeDriverManager.getInstance().setup();
PhantomJsDriverManager.getInstance().setup();
MarionetteDriverManager.getInstance().setup();

答案 2 :(得分:0)

System.setProperty("webdriver.chrome.driver", "E:\\Application\\chrome.exe");

此处 E:\ Application \ chrome.exe 不是您的Chrome驱动程序。

Download您应用程序中所需版本的chrome驱动程序。

  

最新发布:ChromeDriver 2.24

获得Chrome驱动程序后,请通过webdriver.chrome.driver系统属性指定其位置(请参阅下面的示例)

@Test
public void testGoogleSearch() {
  // Optional, if not specified, WebDriver will search your path for chromedriver.
  System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");

  WebDriver driver = new ChromeDriver();
  driver.get("http://www.google.com/xhtml");
  Thread.sleep(5000);  // Let the user actually see something!
  WebElement searchBox = driver.findElement(By.name("q"));
  searchBox.sendKeys("ChromeDriver");
  searchBox.submit();
  Thread.sleep(5000);  // Let the user actually see something!
  driver.quit();
}