一尘不染

Selenium中的WebDriver和WebElement有什么区别?

selenium

Selenium中的WebDriver和WebElement有什么区别?

样例代码:

WebDriver driver = new FirefoxDriver();      
driver.get("http://www.google.com");      
WebElement s  = driver.findElement(By.name("q"));      
s.sendKeys("Packt Publishing");      
s.submit();

阅读 742

收藏
2020-06-26

共1个答案

一尘不染

WebDriver界面

从Selenium的角度看,硒中的ChromeDriver和WebDriver有什么区别? 界面
就像是该第三方一个协议类似 浏览器厂商 喜欢 Mozilla的Chrome浏览器Internet浏览器
Safari浏览器 等必须坚持和贯彻的一样。反过来,这将帮助最终用户使用公开的API编写通用代码并在所有可用的浏览器中实现功能,而无需进行任何更改。


WebDriver驱动程序=新的FirefoxDriver();

通过代码行:

WebDriver driver = new FirefoxDriver();

我们正在创建 WebDriver接口 的实例,并将其 强制转换FirefoxDriver 类。所有的 浏览器驱动程序,
FirefoxDriverChromeDriverInternetExplorerDriverPhantomJSDriverSafariDriver等都实现了WebDriver接口(实际上,RemoteWebDriver类实现了
WebDriver接口 ,而 浏览器驱动程序 扩展了 RemoteWebDriver )。因此,如果使用WebDriver driver,则可以使用已经初始化的 驱动程序
我们要自动化的所有浏览器的实例(作为公共对象变量),例如Mozilla,Chrome,InternetExplorer,PhantomJS,Safari。

WebDriver driver = new FirefoxDriver();
driver = new ChromeDriver();
driver = new FirefoxDriver();
driver = new SafariDriver();

WebElement界面

Selenium的
角度来看,WebElement表示HTML元素。通常,与页面交互有关的所有操作都将通过此界面执行。

WebElement 是用于识别一个抽象元节点和被简单地称为元件,当它通过协议,远程和本地端之间输送。Web元素标识符是字符串常量,表示为:

"element-6066-11e4-a52e-4f735466cecf"

每个元素都有一个关联的Web元素引用,该引用在所有浏览上下文中唯一标识该元素。表示同一元素的每个元素的Web元素引用必须相同。它必须是字符串,并且应该是生成UUID的结果。

如果ECMAScript 对象具有自己的Web元素标识符属性,则表示ECMAScript
对象

每个浏览上下文都有一个已知元素的关联列表。当浏览上下文被丢弃时,已知元素的列表将与之一起被丢弃。

一些常用的关联方法如下:

  • clear()
  • click()
  • findElement(By by)
  • findElements(By by)
  • getAttribute(java.lang.String name)
  • getCssValue(java.lang.String propertyName)
  • getLocation()
  • getRect()
  • getSize()
  • getTagName()
  • getText()
  • isDisplayed()
  • isEnabled()
  • isSelected()
  • sendKeys(java.lang.CharSequence... keysToSend)
  • submit()
2020-06-26