2016-08-16 2 views
1

ich Text aus einem Knopf webelement mit Python Scripting in Selenium Der HTML-Code der Taste aussieht abrufen versuche:Text aus einem Knopf webelement abrufen

<button class="list-item ng-binding" ng-click="selectLineFilter(line)" type="button"> 
<i class="mdi mdi-domain blue" aria-hidden="true"></i> 
12063497545 
</button> 

Wie kann ich das abrufen Text. Ich habe .text verwendet, es gibt einen Fehler zurück, da "'list' Objekt kein Attribut 'text'" hat. Bitte Hilfe.

Antwort

1

Ich glaube, Sie find_elements verwenden, die Liste der WebElement während .text Arbeiten auf einzelne WebElement zurück, so sollten Sie find_element wie unten Versuchen Sie es mit: -

driver.find_element_by_css_selector("button.list-item.ng-binding[type='button']").text 

Oder wenn Sie wollen, dass alle Elemente Text mit den finden gleicher Locator, sollten Sie versuchen, find_elements mit und iterieren, wie unten in Schleife durch: -

buttons= driver.find_elements_by_css_selector("button.list-item.ng-binding[type='button']") 
for button in buttons: 
    button.text 
+0

Hey, ich habe fünf andere Elemente wie dieses, klicken Sie unter einem einzelnen Element, bitte helfen Sie mir, Text jedes Elements zu erhalten. Ich habe tatsächlich xpath durchlaufen, um auf jedes Element zuzugreifen, und wenn ich .text dort verwende, erhalte ich den oben genannten Fehler. –

+0

@BhuvaneshwariKumarRaja sollten Sie Schleifen verwenden dann 'find_elements' .. versuch aktualisierte Antwort und lass es mich wissen ... :) –

+0

Hallo Ich habe versucht, den gesamten Text abrufen und dann in eine Liste zu trennen. Danke trotzdem .. :) alllinetext = selbst.driver.find_element_by_css_selector (". Dropdown.line-filter-dropdown.shown") .text activtext = str (alllinestext) self.textcheckval = activtext.splitlines() –

0

Verwendung .GetAttribute ("innerHTML-")

0

können Sie das Konzept dieses Java-Codes verwenden:

WebDriver-Treiber;

Zeichenfolge a = driver.findelement (by.xpath ("")). GetText(); // Verwende CSS- oder ID-Attribut

System.out.println (a); // Dies wird den auf der Schaltfläche vorhandenen Text ausdrucken.