2015-01-19 11 views
8

Próbuję uzyskać zawartość tekstu znacznika na stronie html przy użyciu metod Selenium, ale wydaje się, że metoda someElement.getText() nie jest dostępna w języku Python. Każda pomoc, proszę?Python i jak uzyskać tekst z obiektu WebElement elementu Selenium?

Oto traceback:

AttributeError: 'WebElement' object has no attribute 'getText' 
+0

bardzo podobny do http://stackoverflow.com/questions/12325454/how-to-get-text-of-an-element-in-selenium-webdriver-via-the -python-api-bez – aberna

+0

Chodzi o zastąpienie tekstu wykonywanie JavaScript. – Alex

+0

Wskazałem na metodę .text cytowaną w pytaniu – aberna

Odpowiedz

22

Po zlokalizowaniu elementu można użyć metody tekstu.

przykład:

for element in self.driver.find_elements_by_tag_name('img'): 
     print element.text 
     print element.tag_name 
     print element.parent 
     print element.location 
     print element.size 
+7

Tak! Dziękuję Ci. Znalazłem 'element.get_attribute ('text')' działa również i ma więcej możliwości. – Alex

+2

Musisz zachować ostrożność, jeśli tekst jest ukryty, np. przez CSS na stronie. W takim przypadku musisz wykonać element.get_attribute ("innerText"). Zobacz: http://yizeng.me/2014/04/08/get-text-from-hidden-elements-using-selenium-webdriver/ –

Powiązane problemy