selenium 中的 ChromeDriver 和 WebDriver 有啥区别?

Posted

技术标签:

【中文标题】selenium 中的 ChromeDriver 和 WebDriver 有啥区别?【英文标题】:What is the difference between ChromeDriver and WebDriver in selenium?selenium 中的 ChromeDriver 和 WebDriver 有什么区别? 【发布时间】:2018-06-13 05:32:00 【问题描述】:

如果我们创建:

ChromeDriver driver=new ChromeDriver();

chrome 驱动方法将被执行。

如果我们创建:

WebDriver driver=new ChromeDriver();

再次执行ChromeDriver 方法[根据方法覆盖]。

那为什么我们只在执行时才写后一个呢?

【问题讨论】:

问题格式是解决方案的一部分,这就是您需要标题和问题格式的原因 【参考方案1】:

ChromeDriver 驱动程序 = new ChromeDriver();

如果您使用 ChromeDriver driver = new ChromeDriver(); ChromeDriver 实例,该实例将通过该实例创建,我们将只能调用和执行由 ChromeDriver 实现并支持的方法仅限 Chrome 浏览器。要与其他浏览器配合使用,我们必须专门创建单独的对象,如下所示:

FirefoxDriver driver = new FirefoxDriver(); InternetExplorerDriver driver = new InternetExplorerDriver();

WebDriver 接口

Selenium的角度来看,WebDriver Interface类似于Mozilla等第三方Browser Vendors的协议>、ChromeInternet ExplorerSafari 等都必须遵守和实施相同的规定。这将反过来帮助最终用户使用公开的 API 编写通用代码并在所有可用浏览器中实现功能,而无需进行任何更改。


WebDriver 驱动程序 = new ChromeDriver();

通过WebDriver driver = new ChromeDriver();,我们正在创建WebDriver 接口的实例并将其转换ChromeDriver 类。所有浏览器驱动程序都喜欢:

FirefoxDriver ChromeDriver InternetExplorerDriver PhantomJSDriver SafariDriver等

实现了WebDriver 接口(实际上RemoteWebDriver 类实现了WebDriver 接口 并且浏览器驱动程序 扩展了RemoteWebDriver)。因此,如果我们使用WebDriver driver,那么我们可以将已经初始化的驱动程序(作为公共对象变量)用于我们想要自动化的所有浏览器,例如Mozilla、Chrome、InternetExplorer、Edge、Opera、Safari如下:

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

琐事

根据当前场景,我们必须直接实例化 WebDriver 接口 的实现。按照目前的做法,我们针对这个界面编写我们的自动化测试脚本,以便将来我们可以换入功能更全面的浏览器是对一个人的要求。

【讨论】:

超级..这就是我要找的

以上是关于selenium 中的 ChromeDriver 和 WebDriver 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

C# + Selenium + ChromeDriver 爬取网页

使用 Selenium Python 和 chromedriver 截取整页截图

selenium和chromedriver

OSX 修复 Selenium Chromedriver 启动错误产生未知系统错误 -86 可执行文件中的错误 CPU 类型?

如何为centos 6.6设置chromedriver工作以在python中运行selenium测试用例

selenium 怎么驱动chromedriver