首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebDriver对ChromeDriver

WebDriver对ChromeDriver
EN

Stack Overflow用户
提问于 2016-09-07 20:26:12
回答 4查看 16.2K关注 0票数 16

在Selenium2-Java中,

ChromeDriver driver = new ChromeDriver();

WebDriver driver = new ChromeDriver();

?我在各种教程、示例等中都使用过这两种方法,并且不确定使用ChromeDriverWebDriver对象之间的区别。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-09-08 04:31:28

萨蒂什的回答是正确的,但用更多外行的话来说,ChromeDriver是Chrome的具体驱动程序。WebDriver是一个更通用的驱动程序,可以用于许多不同的浏览器.IE,Chrome,FF等

如果您只关心Chrome,您可能会使用

代码语言:javascript
复制
ChromeDriver driver = new ChromeDriver();

如果要创建一个返回指定浏览器的驱动程序的函数,可以执行以下操作。

代码语言:javascript
复制
public static WebDriver startDriver(Browsers browserType)
{
    switch (browserType)
    {
        case FIREFOX:
            ...
            return new FirefoxDriver();
        case CHROME:
            ...
            return new ChromeDriver();
        case IE32:
            ...
            return new InternetExplorerDriver();
        case IE64:
            ...
            return new InternetExplorerDriver();
        default:
            throw new InvalidParameterException("Unknown browser type");
    }
}
public enum Browsers
{
    CHROME, FIREFOX, IE32, IE64;
}

..。然后把它叫做..。

代码语言:javascript
复制
WebDriver driver = startDriver(Browsers.FIREFOX);
driver.get("http://www.google.com");

根据您指定的浏览器,该浏览器将启动并导航到google.com。

票数 21
EN

Stack Overflow用户

发布于 2016-09-07 20:40:31

WebDriver是一个接口,而ChromeDriver是一个实现WebDriver接口的类。实际上,ChromeDriver扩展了实现WebDriver的RemoteWebDriver。仅仅为了添加每个WebDriver,比如ChromeDriver、FirefoxDriver、EdgeDriver,就应该实现WebDriver。

下面是ChromeDriver和RemoteDriver类的签名

代码语言:javascript
复制
public class ChromeDriver extends RemoteWebDriver
implements LocationContext, WebStorage {}

public class RemoteWebDriver implements WebDriver, JavascriptExecutor,
FindsById, FindsByClassName, FindsByLinkText, FindsByName,
FindsByCssSelector, FindsByTagName, FindsByXPath,
HasInputDevices, HasCapabilities, TakesScreenshot {}
票数 20
EN

Stack Overflow用户

发布于 2018-08-31 12:37:15

WebDriver是一个接口

ChromeDriver是WebDriver接口的实现

https://docs.oracle.com/javase/tutorial/java/concepts/interface.html

在用法上没有差别:

代码语言:javascript
复制
ChromeDriver driver = new ChromeDriver();

代码语言:javascript
复制
WebDriver driver = new ChromeDriver();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39378442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档