在Selenium和Python中,是否可以将WebElement的所有子元素作为列表?
对find_elements_by_xpath(".//*")
的另一种崇敬是:
from selenium.webdriver.common.by import By
find_elements(By.XPATH, ".//*")
是的,您可以使用“按查找元素”将子元素检索到列表中。请参见此处的python绑定:http://selenium-python.readthedocs.io/locating-elements.html
示例超文本标记语言:
<ul class="bar">
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
您可以像这样使用find_elements_by
:
parentElement = driver.find_element_by_class_name("bar")
elementList = parentElement.find_elements_by_tag_name("li")
如果您需要特定案例的帮助,可以使用HTML编辑您的帖子,您希望从中获取父元素和子元素。
是的,您可以通过find\u elements\u by\u css\u selector(“*”)
或find\u elements\u by\u 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))
在Selenium和Python中,是否可以将WebElement的所有子元素作为列表?
问题内容: 我想找到一种方法来获取元素树的所有子元素,就像这样,因为自python 2.7版本以来已弃用,尽管现在我仍然可以使用它,但我不想再使用它了。 谢谢。 问题答案: 的所有子元素(后代): 一个更完整的示例: 排除根本身:
你们这些家伙,我有这样一个HTML: 这是将上述所有选项放入列表的代码: 实际上它不起作用。我不知道我错在哪里。请帮帮我。非常感谢。
问题内容: 我今天一直在测试Javascript CSS函数,并注意到当使用.style.cssText时,它仅提供了我用JS设置的CSS。 相反,我想获取元素的所有CSS,所以我猜我在做错什么,或者可能需要另一个函数,例如getComputedStyle,但要使用整个CSS而不是单个属性值,但是我找不到搜索时需要的东西。 所以我的问题是如何从代码的最后部分获得完整的CSS,例如: 而不是当前输出
smembers key 返回key对应set的所有元素,结果是无序的,集合元素很多时会阻塞,生产上禁用!
问题内容: 我有这段代码来获取我需要的所有元素并进行一些处理。问题是我需要指定每个面板以获取其中的元素。 我想做这样的事情,并且不需要指定所有面板名称就可以获取所有元素。我该怎么做。下面的代码无法获取所有元素。 问题答案: 您可以编写一个递归方法并在每个容器上递归: 该站点提供了一些示例代码: 如果只需要直接子组件的组件,则可以将递归深度限制为2。