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();
从Selenium的角度看,硒中的ChromeDriver和WebDriver有什么区别? 界面 就像是该第三方一个协议类似 浏览器厂商 喜欢 Mozilla的 , Chrome浏览器 , Internet浏览器 , Safari浏览器 等必须坚持和贯彻的一样。反过来,这将帮助最终用户使用公开的API编写通用代码并在所有可用的浏览器中实现功能,而无需进行任何更改。
通过代码行:
WebDriver driver = new FirefoxDriver();
我们正在创建 WebDriver接口 的实例,并将其 强制转换 为 FirefoxDriver 类。所有的 浏览器驱动程序, 如FirefoxDriver,ChromeDriver,InternetExplorerDriver,PhantomJSDriver,SafariDriver等都实现了WebDriver接口(实际上,RemoteWebDriver类实现了 WebDriver接口 ,而 浏览器驱动程序 扩展了 RemoteWebDriver )。因此,如果使用WebDriver driver,则可以使用已经初始化的 驱动程序 我们要自动化的所有浏览器的实例(作为公共对象变量),例如Mozilla,Chrome,InternetExplorer,PhantomJS,Safari。
WebDriver driver
WebDriver driver = new FirefoxDriver(); driver = new ChromeDriver(); driver = new FirefoxDriver(); driver = new SafariDriver();
从 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()