如何使用Selenium Webdriver单击具有特定文本的div?

时间:2015-03-02 22:28:23

标签: javascript html testing selenium

我正在使用Selenium Webdriver在JavaScript中测试程序。

我想在搜索框中输入一些数据后点击我得到的元素。问题在于,由于我没有创建该对象,因此在测试时我不能给它一个id并引用它。

有没有办法引用包含特定文字的标签?

  it('Should select a song', function(done) {
  client
    .setValue('#email', 'partygoer@email.com')
    .setValue('#query', 'superstition')
    .click('#search')
    .waitFor('.cover', 5000)
    .click('Here I have to click on the element with the specific text')
    .click('#submit')
    .waitFor('#thank-you')
    .getText('#thank-you', function(err, text) {
      expect(text).to.include('hello partygoer@email.com, your song id is')
    })
    .call(done);
});

2 个答案:

答案 0 :(得分:0)

如果您希望使用jquery找到元素,请使用contains选择器

$('tagname[attribute]:contains("specific text")');

$('div:contains("searchterm")');

或者

$('div#test').filter(function(){ return $(this).text();});

希望这可以帮助你...

答案 1 :(得分:0)

我找到了一种方法,通过选择我想要点击的链接的文本,使用以下语法:单击此TextHere我可以.click('link = TextHere')它将选择该元素..