2013-10-10 67 views
1

我寫的測試自動機代碼的系統和開發團隊提出了我下面的HTML兩個相同元素的第二個:點擊在水豚

<div id="someId"> 
    <div class="classA"> 
    <button class="classB"> 
    </div> 
    <div class="classA"> 
    <button class="classB"> 
    </div> 
</div> 

現在的問題是:是否有可能單擊第二個按鈕?如果是這樣 - 如何?

回答

1

我不會依賴通過all返回的元素的順序。我記得過去遇到過這個問題,請參閱this issue。相反,我會使用一個選擇,是這樣的:

find("#someId div.classA:nth-child(1) button.classB").click 

(IIRC他們是零索引)

+1

完美的作品 - 謝謝。 +1 –

3

如果我理解你是正確的,你點擊鏈接樣式按鈕。您可以使用此步驟定義

Then(/^I click the (\d+) instance of link "(.*?)"$/) do |instance, link| 
    page.all('a', :text => "#{link}")[instance.to_i - 1].click  
end 
+1

其實 - 沒有。這些不是鏈接,這些是用標籤創建的按鈕: