它们之间的主要区别是什么:
Webdriver wd= new ChromeDriver();和
ChromeDriver wd= new ChromeDriver();我知道ChromeDriver是一个扩展RemoteWebDriver的类,而后者又实现了WebDriver接口。我想知道的是为什么后者行不通?
发布于 2018-05-09 13:56:33
在Java语言中,WebDriver不是一个“类型”。它是一个接口。您不能使用像WebDriver webDriver = new WebDriver();这样的结构,因为WebDriver作为接口,只是声明实现该接口的类必须支持哪些方法。您不能仅仅因为WebDriver的方法尚未实现就调用它们。
ChromeDriver“实现了”接口WebDriver (更准确地说,它扩展了RemoteWebDriver,而后者又实现了接口WebDriver)。所以你可以创建一个ChromeDriver类型的对象。
发布于 2018-05-09 15:43:35
你有没有给过一个 this 为什么要这样声明一个WebElement的列表:
List<WebElement> ele = driver.findElements(By.xpath("some Xpath "));
代替ArrayList<WebElement> or LinkedList<WebElement>
因为我们想要有一些特定的现成的方法,这些方法将适用于我们的列表。
无论哪种方式,我们都可以调用chrome浏览器,我不知道您为什么要提到
后者不能工作吗? --它应该可以工作。
当您有一些特殊需求时,有时可能希望使用ChromeDriver类,例如:调用构造函数和一些方法,例如:
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();还有那么多人..。
https://stackoverflow.com/questions/50243567
复制相似问题