首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChromeDriver wd= ChromeDriver();​与Webdriver wd= new ChromeDriver();​的区别

ChromeDriver wd= ChromeDriver();​与Webdriver wd= new ChromeDriver();​的区别
EN

Stack Overflow用户
提问于 2018-05-09 07:34:15
回答 2查看 391关注 0票数 0

它们之间的主要区别是什么:

代码语言:javascript
复制
Webdriver wd= new ChromeDriver();​

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

我知道ChromeDriver是一个扩展RemoteWebDriver的类,而后者又实现了WebDriver接口。我想知道的是为什么后者行不通?

EN

回答 2

Stack Overflow用户

发布于 2018-05-09 13:56:33

在Java语言中,WebDriver不是一个“类型”。它是一个接口。您不能使用像WebDriver webDriver = new WebDriver();这样的结构,因为WebDriver作为接口,只是声明实现该接口的类必须支持哪些方法。您不能仅仅因为WebDriver的方法尚未实现就调用它们。

ChromeDriver“实现了”接口WebDriver (更准确地说,它扩展了RemoteWebDriver,而后者又实现了接口WebDriver)。所以你可以创建一个ChromeDriver类型的对象。

票数 0
EN

Stack Overflow用户

发布于 2018-05-09 15:43:35

你有没有给过一个 this 为什么要这样声明一个WebElement的列表:

List<WebElement> ele = driver.findElements(By.xpath("some Xpath "));

代替ArrayList<WebElement> or LinkedList<WebElement>

因为我们想要有一些特定的现成的方法,这些方法将适用于我们的列表。

无论哪种方式,我们都可以调用chrome浏览器,我不知道您为什么要提到

后者不能工作吗? --它应该可以工作。

当您有一些特殊需求时,有时可能希望使用ChromeDriver类,例如:调用构造函数和一些方法,例如:

代码语言:javascript
复制
        driver.executeAsyncScript(script, args);
        driver.executeScript(script, args);
        driver.findElementByClassName(using);
        driver.findElementByCssSelector(using);
        driver.findElementById(using);
        driver.perform(actions);
        driver.setLocation(location);
        driver.getCapabilities();
        driver.getErrorHandler();
        driver.getFileDetector();
        driver.getMouse();
        driver.getKeyboard();

还有那么多人..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50243567

复制
相关文章

相似问题

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