2016-10-20 4 views
0

Ich habe das Problem beim Klicken auf Python Selen mit der gleichen ID Ich kann zwei Schaltflächen auf einer Seite namens "Upload" und "Generate Base Form" aber die beiden Schaltflächen ID ist gleich. Ich werde die Schaltfläche namens "Generate Base Form" auswählen. Die ID des Buttons ist ebenfalls gleich. Ich werde das Bild des Inspektoren Image of Id for buttonGleiche Schaltfläche ID in Python Selen

+0

Aktualisieren Sie Ihr Ticket mit 'HTML' für beide Schaltflächen, aber nicht Bild. Fügen Sie auch eine Frage hinzu, da es nur eine Problembeschreibung gibt – Andersson

Antwort

0

befestigen Obwohl es gute Praxis ist Elemente von ID, Namen oder CssClass zu finden, die in einigen Fällen werden Sie auf spezifischere Eigenschaften je am Ende , so dass Sie ausschließlich das Element finden können. Die gebräuchlichste Lösung ist die Verwendung von XPath.

In Ihrem Fall so etwas wie

driver.find_element_by_xpath("//button[@id='uploadButton' and @value='Upload']").click() 

Sollte funktionieren. Beachten Sie, dass Sie, wenn die andere Schaltfläche dasselbe Attribut Wert aufweist, herausfinden müssen, was das Element, das Sie suchen, eindeutig ist, und verwenden Sie es mit XPath.

Alternativ könnten Sie auch tun

driver.find_element_by_xpath("(//button[@id='uploadButton'])[buttonNumber]").click() 

Wo buttonNumber ein Index ist, der von 1 bis n geht, entsprechend der Anzahl der Tasten, die Sie mit der gleichen ID haben.

This Artikel kann Ihnen bei der Suche nach Elementen helfen.

0

Verwenden von XPath

//input[@id='eRetVO.fileExtend']/../input[2]