2016-10-20 1 views
1

Wie kann ich dieses xpath... //*[@id="hand_1308744119"] mit Selen finden.Suchen nach einem Element mit einem dynamischen xpath mit Selen mit Python

Die 1308744119 ist dynamisch, die einzige Konstante ist hand_ im XPath jedes Elements.

Ich versuchte ..

xelem=driver.find_elements_by_xpath("//*[@id='hand_']") 
xelem=driver.find_elements_by_css_selector("input[id$=hand_]") 

aber kein Glück!

+0

können Sie so html so können wir verstehen, leicht – Piyush

+0
+0

dies ist das Element, das ich fangen muss, aber diese Elemente haben Xpath ändern. – user2656386

Antwort

0

Ich habe noch nie Selen auf Python verwendet, aber XPaths sollten in allen Sprachen gleich funktionieren.

Sie möchten "enthält" in Ihrem XPath verwenden. Es teilt dem xpath mit, dass Sie ein Element finden möchten, das das enthält, was Sie wollen. Im Moment sagst du, dass der XPath "hand_" sein muss.

So etwas wie die unten - das XPath ist zu sagen, dass Sie ein Element finden wollen, wo die @id enthält 'hand_':

xelem=driver.find_elements_by_xpath("//*[contains(@id, 'hand_')]") 
+0

Ich habe das versucht, kein Glück – user2656386

+0

Genau was für einen Fehler bekommen Sie? Die von Ihnen verwendete Methode gibt eine Liste von Elementen zurück, nicht eine. Versuchen Sie, Aktionen für eine Liste von Elementen auszuführen (können Sie nicht)? Die Art, wie ich zuvor erwähnt habe, sollte funktionieren. Sie könnten auch versuchen: xelem = driver.find_elements_by_xpath ("// * [Starts-mit (@id, 'Hand')]") –

+0

nur fetchin die Liste und Drucken der Elemente. keine Aktionen – user2656386

Verwandte Themen