2015-03-02 114 views
0

我使用Selenium Webdriver在JavaScript中測試程序。如何使用Selenium Webdriver單擊具有特定文本的div?

我想在點擊搜索框中輸入一些數據後得到的元素。問題是,因爲我不創建該對象,所以在測試時我無法給它一個id並引用它。

有沒有辦法引用包含特定文本的標籤?

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,我試圖達到該元素,因爲你已經建議,但它沒有工作.. – 2015-03-03 07:47:17

+0

請提供頁面的html源代碼.... – Vicky 2015-03-03 08:12:57

0

我找到了通過選擇我想要點擊的鏈接的文本來完成它的方式,使用以下語法:cli ck這TextHere我可以.click('link = TextHere'),它會選擇該元素..

相關問題