当前位置: 首页 > 面试题库 >

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

景轶
2023-03-14
问题内容

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();

问题答案:

WebDriver界面

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

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

通过代码行:

WebDriver driver = new FirefoxDriver();

我们正在创建 WebDriver接口 的实例,并将其 强制转换FirefoxDriver 类。所有的 浏览器驱动程序,
如FirefoxDriver,ChromeDriver,InternetExplorerDriver,PhantomJSDriver,SafariDriver等都实现了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()


 类似资料:
  • 问题内容: 如果我们创建: chrome驱动程序方法将被执行。 如果我们创建: 再次执行方法(按方法覆盖)。 那为什么只在执行时才写后一个呢? 问题答案: ChromeDriver驱动程序=新的C​​hromeDriver(); 如果您使用将通过其创建的 ChromeDriver 实例,则我们将只能调用和执行由 ChromeDriver 实现且仅受 Chrome浏览器 支持的方法。要与其他浏览器配

  • 如果我们创建: 将执行chrome驱动程序方法。 那么为什么我们只在执行的时候才写后面的一个呢?

  • 我试图设置Selenium Grid 2,并从这里获取了一个示例json配置文件。我的测试是用C语言编写的,使用的是Selenium WebDriver。我试图找出这两个协议之间的差异,以及我应该使用哪一个来进行WebDriver测试。

  • 'selenium-server-standalone.jar'和'selenium Client&WebDriver'在实现上有什么不同。以下是Seleniumhq.org网站[http://www.seleniumhq.org/download/]的链接。 http://selenium-release.storage.googleapis.com/2.44/selenium-server-s

  • 问题内容: 我在我正在自动化的网站中为弹出对话框而苦苦挣扎,由于某种原因,它不会单击对话框中的按钮,但可以与其他一切正常交互。它也可以毫无问题地识别按钮,当我看到它运行时,我可以看到它确实在颜色改变时单击了按钮,所以我有点卡住了。 我的代码最初看起来很明显:- 但是当我将其更改为以下内容时,一切似乎都可以正常工作! 谁能告诉我为什么一种方法不起作用而另一种却可以起作用?同样,不管是否有用,该网站都

  • Selenium IDE、Selenium RC和Selenium WebDriver之间的区别是什么;在什么样的项目中我们可以使用每一个?任何建议都将不胜感激。