Verwenden Sie Python Selenium, um übergreifenden Text zu erhalten

8

Das sollte einfach sein, aber ich kann es nicht zur Arbeit bringen. Ich führe eine kleine Demo mit der Google-Startseite als Test durch.

Hier ist mein Skript:

%Vor%

Es gibt zurück:

%Vor%

Also ich denke, es greift nach den richtigen Elementen, aber vielleicht nicht das richtige Attribut? Nicht sicher. Ich habe auch versucht, e.text () zu drucken, aber das spuckte aus:

%Vor%

Irgendwelche Gedanken?

* Bearbeiten - Mögliche Lösung? *

%Vor%     
doremi 29.01.2013, 19:05
quelle

2 Antworten

16

Das sollte es tun:

%Vor%

text ist eine Eigenschaft der Klasse WebElement und kann daher nicht aufgerufen werden.

%Vor%

Sie haben zwei Alternativen, um die dritte Übereinstimmung zu erhalten:

%Vor%     
root 29.01.2013, 19:23
quelle
7

JA! Lösung wurde gefunden (ich benutze Python) Für Instanc: Webelement ist ein P-Tag

%Vor%

aus der realen Situation, Stacktrace:

print page_box_block.text () TypeError: 'Unicode' -Objekt ist nicht aufrufbar

es erwartet, ein HTML in stdout zu sein, aber nicht!

könnte manchmal eine seltsame Zeichenfolge sein, "Unicode-Objekt ist nicht aufrufbar" oder irgendein Typfehler Lösung ist sehr einfach:

%Vor%

In Java sind get_attribute ("innerHTML") und text () gleich "gleich", wenn Sie einfachen Text von element benötigen In Python 2.7 vorerst versagt text () manchmal.

    
user3252247 30.01.2014 10:32
quelle

Tags und Links