Selen finden, Kinder die Kind-Elemente
Habe ich folgenden html-Code wie:
<form name="form1">
<input name="a" ...>
<input name="b" ...>
...
<div><span><select name="c">...</select></span></div>
</form>
Ich würde gerne herausfinden, alle Elemente innerhalb des form-Elements. Zuerst benutze ich findElement()
um das form-element form1
, dann verwenden Sie form1.findElements(By.xpath(".//*[@name]"))
um alle seine Kinder mit Attribut name
. Jedoch, für die select
element, da es die grand-grand Kind form1
, wie ich es bekommen kann?
Gibt es eine Möglichkeit zu finden, alle Elemente, die das Attribut name
(nicht nur Kind-Elemente, aber auch Kind-Kind-Kind...) innerhalb form1
?
Dank!
Das, was Sie bereits haben, sollte funktionieren, da es nicht nur der Suche nach Kindern, aber alle Nachkommen geschachtelten auf jeder Ebene.
Aber wenn ich es laufen lasse, bekomme ich nur die Kinder-Elemente, nicht alle descendants.@BoltClock'saUnicorn
Danke@BoltClock'saUnicorn ja, du hast Recht. Ich habe einen Fehler gemacht, weil Sie in google Seite, ich denke, Sie nutzen
Aber wenn ich es laufen lasse, bekomme ich nur die Kinder-Elemente, nicht alle descendants.@BoltClock'saUnicorn
Danke@BoltClock'saUnicorn ja, du hast Recht. Ich habe einen Fehler gemacht, weil Sie in google Seite, ich denke, Sie nutzen
<input type="select">
Ausdrücken der select-element, während die source-code angezeigt <select>
. Das verursacht mir dachte, Sie hat nicht alle Nachkommen.
InformationsquelleAutor Eve | 2013-11-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn Sie wollen zu bekommen ein WebElement von xpath und so bekommt Kind... Sie können die Verwendung
webElement.findElement(By.xpath("./*"))
... das "." vor den "/" macht der Magie, du wirst es brauchen, bekommen nur die Kinder der webElement...InformationsquelleAutor Alan Donizete
Tun, müssen Sie das form-element? Wenn nicht, dann können Sie es tun in einer select-Anweisung mit css oder xpath.
Css wäre 'form[name="form1"] [name]'
Beachten Sie das Leerzeichen zwischen den schließenden und öffnenden Klammern.
Verwenden Sie diesen selector mit FindElement auf der Treiber-Objekt, anstatt das finden der form erste.
InformationsquelleAutor Robbie Wareham
Sollten Sie in der Lage sein, um die Nutzung der descendant:: wie in diesem post beschrieben.
http://hedleyproctor.com/2011/05/tutorial-writing-xpath-selectors-for-selenium-tests/
Hier sind ein paar Beispiele aus dem Artikel:
InformationsquelleAutor Aligned