2017-09-19 8 views
0

Ich habe eine Liste von ähnlich aussehenden DIVs ohne Div ID, außer man hat ein Kontrollkästchen aktiviert und andere nicht. Was ich brauche ist, den Wert von einem Kind-Tag nur zu finden, wenn ein Optionsfeld ausgewählt ist. Unten ist eine einfachere Version meines Codes.Wie passe ich den Wert, der ein Optionsfeld aktiviert hat

<div class = "XYZ"> 
    <input type="radio" checked> 
    <input type="hidden" value="This is a great thing 1"> 
</div> 

<div class = "XYZ"> 
    <input type="radio"> 
    <input type="hidden" value="This is a great thing 2"> 
</div> 

Ergebnis erforderlich ist

This is a great thing 1 

Leider kann der Quellcode nicht geändert werden.

+0

'kann nicht jede XML-Eingabe parsen . Auf den Attributnamen "checked", der mit einem Elementtyp "input" verknüpft ist, muss das Zeichen "=" folgen – RomanPerekhrest

Antwort

0

Ihr xpath sollte nach einer div suchen, die das überprüfte input enthält und den Wert für das Attribut mit dem Wert erhalten.

Der erste Selektor gibt den Eingang zurück, der zweite gibt den Wert zurück.

//div[.//input[@checked]]/input[@value] 

//div[.//input[@checked]]/input/@value 

Als Alternative Sie die folgenden Geschwister verwenden können:

//input[@checked]/following-sibling::input 

Wenn Sie wollen auch die Klasse der div Eltern verwenden:

//div[@class='XYZ']/input[@checked]/following-sibling::input 
Verwandte Themen