Protractor 量角器定位器之间的区别

Protractor 量角器定位器之间的区别,protractor,Protractor,我正在浏览量角器指南: 它说为了定位一个元素,我可以使用 var temp = element(by.css("someclass")); or alternatively var temp1 = ptor.findElement(protractor.By.css('someclass')) 何时使用哪种定位器?请有人澄清一下,他们是一样的element是首选语法,因为它较短,并且可以链接定位器并使用一些奇特的量角器功能。量角器扩展了webdriver api,这就是为什么可以使用与普通

我正在浏览量角器指南:

它说为了定位一个元素,我可以使用

var temp = element(by.css("someclass"));

or alternatively

var temp1 = ptor.findElement(protractor.By.css('someclass'))

何时使用哪种定位器?请有人澄清一下,他们是一样的
element
是首选语法,因为它较短,并且可以链接定位器并使用一些奇特的量角器功能。量角器扩展了webdriver api,这就是为什么可以使用与普通webdriver相同的函数

例如,以下表达式是等效的:

ptor.findElement(by.css('.foo')).getText()

element(by.css('.foo')).getText()

$('.foo').getText()
要查找多个元素,请使用:

ptor.findElements(by.css('.foo'))

element.all(by.css('.foo'))

$$('.foo')
api.md文档中有许多示例:


它们是一样的
element
是首选语法,因为它较短,并且可以链接定位器并使用一些奇特的量角器功能。量角器扩展了webdriver api,这就是为什么可以使用与普通webdriver相同的函数

例如,以下表达式是等效的:

ptor.findElement(by.css('.foo')).getText()

element(by.css('.foo')).getText()

$('.foo').getText()
要查找多个元素,请使用:

ptor.findElements(by.css('.foo'))

element.all(by.css('.foo'))

$$('.foo')
api.md文档中有许多示例:


ptor.findElement和
元素
之间的区别在于,第一个元素应用于无角度的页面,而第二个元素用于有角度的页面。这与量角器的工作方式有关。第一个返回WebDriver
WebElement
,第二个返回量角器
ElementFinder

但是,为了直接回答您的问题,由
by.css
返回的定位器与由.css返回的
量角器之间没有区别。
这两者是等价的。全局
by
对象引用的对象与
量角器.by
引用的对象相同

从量角器的:


API有两个版本。旧版本使用
量角器.By
,而新版本使用
By
。您可能经常看到旧样式,但如果您有疑问,您可以使用新样式,并确保不会发生意外情况。

ptor.findElement
element
之间的区别在于,第一个样式应用于无角度的页面,而第二个样式用于有角度的页面。这与量角器的工作方式有关。第一个返回WebDriver
WebElement
,第二个返回量角器
ElementFinder

但是,为了直接回答您的问题,由
by.css
返回的定位器与由.css返回的
量角器之间没有区别。
这两者是等价的。全局
by
对象引用的对象与
量角器.by
引用的对象相同

从量角器的:


API有两个版本。旧版本使用
量角器.By
,而新版本使用
By
。您可能经常看到旧样式,但如果您有疑问,您可以使用新样式,并确保不会发生意外情况。

Andres。。情况似乎并非如此。。看看这个链接,安德烈斯。。情况似乎并非如此。。看看这个链接