2016-03-23 10 views
1

Im obigen Code möchte ich auf die Schaltfläche Löschen klicken, das Problem ist, dass jedes Mal, wenn ein Repo hinzugefügt wird, der Klassenname des Repos, der Klassenname des Anzeigetextes und der Klassenname des Löschens Die Schaltfläche ist für alle Repos gleich, außer für den Repo-Anzeigenamen.Python Selenium Wie man einen Knopf neben spezifischem Text anklickt?

Alles, was ich tun möchte, ist klicken Sie auf die Schaltfläche Löschen neben einem bestimmten Repo-Namen. Ich versuchte .//span[text() = "RepoName"], aber das erkennt nur den Repo-Namen und nicht die Schaltfläche daneben.

Ich bin ziemlich neu zu Selen und ich bin verwirrt darüber, wie es geht.

Antwort

1

Wenn Sie die Taste div nach einer gewissen repox wollen, die Spanne finden und die folgende div mit der Button-Klasse erhalten:

.xpath("//span[text()='Repo3']/following::div[@class='Button']") 

Wenn Sie nicht den Klassennamen wussten aber Sie wissen, es ist die nächste div:

.xpath("//span[text()='Repo3']/following::div[1]") 
+0

perfekt funktioniert, wenn verwendet '‘ .//span [text() = "'+ Name +'"]/folgend :: div [@ class = "Button"] ''für xpath. – Priyanka

+0

Kein Problem, Sie können auch 'str.format'' 'verwenden .// span [text() = "{}"]/folgend :: div [@ class = "Button"]'. Format (s) ' –

0

klicken, um die Schaltfläche "löschen" kurz nach dem "Repo1" text:

driver.find_element_by_xpath("//span[.='Repo1']/following::div[.='Delete'][1]").click() 
Verwandte Themen