2015-03-02 3 views
0

Я использую Selenium Webdriver для тестирования программы на JavaScript.Как мне выбрать div с конкретным текстом, используя Selenium Webdriver?

Я хочу щелкнуть элемент, который я получаю после ввода некоторых данных в поле поиска. Проблема в том, что, поскольку я не создаю этот объект, я не могу дать ему идентификатор и ссылаться на него во время тестирования.

Есть ли способ обратиться к тегу, содержащему определенный текст?

it('Should select a song', function(done) { 
    client 
    .setValue('#email', '[email protected]') 
    .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 [email protected], your song id is') 
    }) 
    .call(done); 
}); 

ответ

0

Если вы хотите, чтобы найти элемент с помощью JQuery затем использовать селектор contains

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

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

Или

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

Надеется, что это помогает ...

+0

Я не использую jQuery, хотя я все равно пытался достичь этого элемента, как вы предлагали, но это не так работа .. –

+0

предоставьте источник html для страницы .... – Vicky

0

Я нашел способ сделать это, выбрав текст ссылки, на которую я хочу нажать, со следующим синтаксисом: cli ck this TextHere Я могу .click ('link = TextHere'), и он выберет этот элемент.

Смежные вопросы