python中读取列表所有元素_python获取所有子元素

在使用Python的Selenium中,是否可以将WebElement的所有子节点作为列表?

解决方案:

是的,你可以通过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))

是的,您可以使用find_elements_by_将子元素检索到列表中。请参阅此处的python绑定:http://selenium-python.readthedocs.io/locating-elements.html

示例HTML:

  • one
  • two
  • three

您可以像这样使用find_elements_by_:parentElement = driver.find_element_by_class_name("bar")elementList = parentElement.find_elements_by_tag_name("li")

如果您需要特定案例的帮助,可以使用您希望从中获取父元素和子元素的HTML来编辑您的帖子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值