6

我在很多这样的例子中看到过$('.selector'),我也在使用它。那么这个$变量做了什么。这是我从量角器文档中得到的。

对 $ 的调用可能会被链接起来以查找父元素中的元素。

文档中没有$单独使用的示例。我们正在使用$element选择器进行链接。

$('.selector')本身也是一个元素,当我们这样做时,element($('.selector'))它是一个错误。

那么如何$在量角器中使用这个选择器。是否具备所有功能JQuery $。我试过$('.selector').childrenwhich 说children不是函数。

任何帮助是极大的赞赏。

谢谢!

4

3 回答 3

9

看起来像 jQuery 语法,但它不是,它是 Protractor 的一部分。这.children就是抛出错误的原因,因为我们实际上并没有使用 jQuery。 $element(by.css())ie 的简写版本

$('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 元素的标题。$and$$只是 css 选择器的简写。

资料来源:这里是 $$这里是 $这里是更多

这也是我发现的一个很好的文件(虽然它没有提到使用$$: http: //luxiyalu.com/protractor-locators-selectors/

于 2016-04-22T11:30:44.577 回答
1

我们以$更新了 Protractor 的 API 。此外,Protractor 的规范中有几个地方使用了链式 $。见下文(来自spec/async_spec.js):

  it('should work with synchronous actions', function() {
    var increment = $('#increment');
    increment.$('.action').click();

    expect(increment.$('.val').getText()).toEqual('1');
  });
于 2016-11-08T00:02:17.603 回答
0

这是 $ 的正确 API 文档:

"直接用css查询文档的快捷方式。element(by.css('.abc'))相当于$('.abc')"

http://www.protractortest.org/#/api?view=build $

于 2016-04-23T15:52:12.320 回答