2016-08-18 3 views
3
  • Почему мы должны element(...).getWebElement() над element(...), когда оба работают точно так же
  • Почему два API-интерфейсы для той же функциональности

ответ

7

Protractor - удобная обертка вокруг WebDriverJS - привязки selenium javascript.

  • element(...) приведет в ElementFinder instance введенный в Транспортир
  • element(...).getWebElement() приведет в WebElement, например, от WebDriverJS. В принципе, это дает вам доступ к чистым «голым металлам» WebElement.

Наиболее распространенный вариант использования для использования getWebElement() когда вам нужно пройти ElementFinder в качестве аргумента в сценария - в настоящее время вы должны вызвать getWebElement() для этого, чтобы работать:

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

Существует open feature-request to be able to pass ElementFinder directly:

browser.executeScript("arguments[0].click()", elm); // not gonna work as of now 
Смежные вопросы