[FIXED] Holen Sie sich alle untergeordneten Elemente

Ausgabe

Ist es in Selenium mit Python möglich, alle Kinder eines WebElements als Liste zu erhalten?

Lösung

Ja, Sie können es mit find_elements_by_css_selector("*")oder erreichen find_elements_by_xpath(".//*").

Dies klingt jedoch nicht nach einem gültigen Anwendungsfall, um alle untergeordneten Elemente eines Elements zu finden. Es ist eine teure Operation, alle direkten/indirekten Kinder zu bekommen. Bitte erläutern Sie genauer, was Sie versuchen zu tun. Es sollte einen besseren Weg geben.

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://www.stackoverflow.com")

header = driver.find_element_by_id("header")

# start from your target element, here for example, "header"
all_children_by_css = header.find_elements_by_css_selector("*")
all_children_by_xpath = header.find_elements_by_xpath(".//*")

print 'len(all_children_by_css): ' + str(len(all_children_by_css))
print 'len(all_children_by_xpath): ' + str(len(all_children_by_xpath))


Beantwortet von –
Yi Zeng


Antwort geprüft von –
Timothy Miller (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like