Python 获取所有子元素
在使用Python的Selenium中,是否可以将WebElement的所有子元素作为一个列表来获取?是的,可以通过Python 获取所有子元素,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,在使用Python的Selenium中,是否可以将WebElement的所有子元素作为一个列表来获取?是的,可以通过find_elements\u by_css\u selector(“*”)或find_elements\u by_xpath(“./*”来实现 但是,这听起来不像是查找元素的所有子元素的有效用例。获得所有直接/间接子女是一项昂贵的手术。请进一步解释你想做什么。应该有更好的办法 from selenium import webdriver driver = webdriver.F
find_elements\u by_css\u selector(“*”)
或find_elements\u 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))
是的,您可以使用
find\u elements\u by
将子元素检索到列表中。请参见此处的python绑定:
HTML示例:
<ul class="bar">
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
如果您需要有关特定案例的帮助,您可以使用希望从中获取父元素和子元素的HTML编辑您的帖子。另一种尊重
通过xpath(“./*”)查找元素的方式是:
from selenium.webdriver.common.by import By
find_elements(By.XPATH, ".//*")
*按类名称查找元素只需找出/
之前的
很重要,如果点缺失,即使您从元素调用方法,它也会再次搜索整个HTMLC。我们可以使用这种方法查找特定子级,或下一个直接子级吗?还是从父级开始的整个路径?
from selenium.webdriver.common.by import By
find_elements(By.XPATH, ".//*")