本文介绍了量角器中 element(...) 和 element(...).getWebElement() 的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  • 为什么我们需要 element(...).getWebElement() 而不是 element(...) 当两者完全相同时
  • 为什么两个 API 具有相同的功能
  • Why we need element(...).getWebElement() over element(...) when both works exactly the same
  • Why two APIs for the same functionality

推荐答案

Protractor 是对 WebDriverJS - javascript selenium 绑定的方便包装.

Protractor is a convenient wrapper around WebDriverJS - javascript selenium bindings.

  • element(...) would result into an ElementFinder instance introduced in Protractor
  • element(...).getWebElement() would result into a WebElement instance from WebDriverJS. Basically, this gives you access to the pure "bare-metal" WebElement.

使用 getWebElement() 的最常见用例是当您需要将 ElementFinder 作为 脚本参数 传递时 - 目前您必须调用 getWebElement() 才能工作:

The most common use-case for using getWebElement() is when you need to pass an ElementFinder as a script argument - currently you have to call getWebElement() for this to work:

var elm = element(by.id("myid"));
browser.executeScript("arguments[0].click()", elm.getWebElement());

有一个开放功能请求能够直接传递ElementFinder:

browser.executeScript("arguments[0].click()", elm);  // not gonna work as of now

这篇关于量角器中 element(...) 和 element(...).getWebElement() 的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-30 08:03