我在很多例子中都看到了$('.selector')
,我也在使用它。那么这个 $ 变量是做什么的。这是我从量角器docs得到的。
可以将对$的调用链接起来查找父母中的元素。
文档中没有单独使用$
的示例。我们正在使用$
与element
选择器链接。
同样$('.selector')
本身就是一个元素,当我们这样做element($('.selector'))
时,这是一个错误。
那么如何在量角器中使用这个$
选择器。它是否具有JQuery $
的所有功能。我尝试了$('.selector').children
,其中children
不是函数。
非常感谢任何帮助。
谢谢!
答案 0 :(得分:8)
看起来就像jQuery语法一样,但它不是,它是Protractor的一部分。这就是.children
抛出错误的原因,因为我们实际上并没有使用jQuery。 $
是element(by.css())
的缩写版本,即
$('my-css');
与element(by.css('my-css'));
他们还有$$
,与element.all(by.css())
尽管缺少文档,但 必须才能链接以查找子元素。即使用朱莉的量角器演示(我修改了示例):
describe('Protractor Demo App', function() {
it('read the header', function() {
browser.get('http://juliemr.github.io/protractor-demo/');
$('h3').getText().then(function (val) {
console.log(val);
});
});
});
打印出我找到的h3元素的标题。 $
和$$
只是css选择器的简写。
来源:here for $$,here for $和here for more
这也是我发现的一个很好的文件(虽然它没有提到使用$$
:http://luxiyalu.com/protractor-locators-selectors/
答案 1 :(得分:1)
我们对$的量角器API进行了更新。此外,Protractor的规格中有几个地方使用链式$。见下文(来自spec/async_spec.js):
#picturebox{
border-color:midnightblue;
margin: 0 auto;
border:10px solid #ccc;
border-right: 200%;
padding:20px 60px 0px 2px ;
height: 100%
width:50%;
background-color:lightblue;
}
答案 2 :(得分:0)
这是$:
的正确API文档"使用css直接查询文档的快捷方式。 element(by.css('.abc'))
相当于$('.abc')
"