在带有Python的Selenium中,是否可以将WebElement的所有子级作为列表获取?
是的,您可以通过find_elements_by_css_selector("*")或实现find_elements_by_xpath(".//*")。
find_elements_by_css_selector("*")
find_elements_by_xpath(".//*")
但是,这听起来并不像查找某个元素的 所有子 元素的有效用例。要获得所有直接/间接孩子都是昂贵的手术。请进一步说明您要做什么。应该有更好的方法。
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))