2016-04-28 11 views
1

Ich habe ein wenig Mühe mit dem Finden und Klicken auf einen bestimmten Link. Alle Links in einer HTML-Tabelle enthalten das Wort 'Bearbeiten' (es ist ein Link 'Bearbeiten' für eine Konfigurationseinstellung). Der Link variiert jedoch je nach der Umgebung, an der ich gerade arbeite. Daher ist nur das Bit "Bearbeiten" des Links konsistent.Capybara - Klicken auf einen Link basierend auf einem anderen Wert

Im HTML der Seite habe ich festgestellt, dass dieser Link Teil einer Tabelle ist, die auch die Konfigurationseinstellung enthält, die ich bearbeiten möchte. Ich habe seit ein paar Stunden gekämpft, um diesen Link durch Xpath, durch CSS zu finden ... Grundsätzlich brauche ich jemandes Hilfe dabei. Daher mein Beitrag hier!

Der HTML-Code der Seite sieht wie folgt aus (ich es anonymisierten - ist, dass auch nur ein Wort?):

<table> 
    <thead> 
    <tr> 
     <th>edit</th> 
     <th>Name</th> 
     <th>Value</th> 
     <th>Label</th> 
    </tr> 
    </thead> 

    <tbody> 
     <tr> 
     <td><a href="/configurations/406/edit">Edit</a></td> 
     <td>Configuration 1</td> 
     <td>This is its value</td> 
     <td>This is its explanation</td> 
     </tr> 
     <tr> 
     <td><a href="/configurations/327/edit">Edit</a></td> 
     <td>Configuration 2</td> 
     <td>This is its value</td> 
     <td>This is its explanation</td> 
     </tr> 
     <tr> 
     <td><a href="/configurations/328/edit">Edit</a></td> 
     <td>Configuration 3</td> 
     <td>This is its value</td> 
     <td>This is its explanation</td> 
     </tr> 
    </tbody> 
    </table> 

Kann jemand bitte geben Sie mir einige Hinweise, wie ich zu jedem ‚Edit bekommen 'Link, basierend auf der' Konfiguration '?

Vielen Dank im Voraus. Es wird mir wirklich Kopfschmerzen ersparen!

Antwort

1

Sie können Umfang Capybaras findet und Aktionen mit anderen Elementen, daher

find(:css, 'tr', text: 'Configuration 2').click_link('Edit') 

würde den Link Bearbeiten in der tr klicken, die den Text ‚Konfiguration 2‘

+0

Dank soviel enthält .. Ich weiß, das war eine Anfängerfrage. Aber oh der Kampf! Das hat wie ein Zauber funktioniert, ich werde es nie vergessen! Prost! – cin

Verwandte Themen