当前位置: 首页 > 知识库问答 >
问题:

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

共有1个答案

石俊雄
2023-03-14

从Selenium的角度来看,Selenium中的ChromeDriver和WebDriver有什么不同?界面类似于Mozilla,Chrome,Internet Explorer,Safari等第三方浏览器厂商必须遵守和实现的协议。这将反过来帮助最终用户使用公开的API编写公共代码,并在所有可用浏览器中实现功能,而无需任何更改。

通过代码行:

WebDriver driver = new FirefoxDriver();

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

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

WebElement是用于标识元素节点的抽象,当它通过协议在远程和本地端之间传输时,它被简单地称为元素。web元素标识符是表示为:

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

您可以在webdrivers返回的值中找到详细的讨论

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

    null
 类似资料:
  • 问题内容: Selenium中的WebDriver和WebElement有什么区别? 样例代码: 问题答案: WebDriver界面 从Selenium的角度看,硒中的ChromeDriver和WebDriver有什么区别? 界面 就像是该第三方一个协议类似 浏览器厂商 喜欢 Mozilla的 , Chrome浏览器 , Internet浏览器 , Safari浏览器 等必须坚持和贯彻的一样。反过

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

  • 问题内容: 如果我们创建: chrome驱动程序方法将被执行。 如果我们创建: 再次执行方法(按方法覆盖)。 那为什么只在执行时才写后一个呢? 问题答案: ChromeDriver驱动程序=新的C​​hromeDriver(); 如果您使用将通过其创建的 ChromeDriver 实例,则我们将只能调用和执行由 ChromeDriver 实现且仅受 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建议的Page Object模式,但是如何为页面创建更专业的WebElement。具体来说,我们在页面上有表格,并且我编写了一些帮助函数来获取表格的特定行,返回表格的内容等。 当前,这是我创建的具有表格的页面对象的片段: 因此,我想做的就是让该PermissionsTable成为一个更自定义的WebElement,其中包含我前面提到的一些方法。 例如: 我希望这是

  • 我遵循Selenium建议的Page Object模式,但我如何为页面创建更专业的WebElement。具体来说,我们的页面上有表,我编写了一些帮助函数来获取表的特定行、返回表的内容等。 目前,以下是我创建的一个页面对象的片段,其中包含一个表: 所以,我想做的是让permissionsTable成为一个更定制的WebElement,它具有我前面提到的一些方法。 例如: 我希望我所要解释的有道理。我