Selenium - 获取所有子 div,但不获取孙子

2024-04-18

我正在尝试解析html文件。这个里面有很多嵌套的divhtml。我想得到全部child divs, 但不是孙子 etc.

这是一个模式:

<div class='main_div'>
    <div class='child_1'>
        <div class='grandchild_1'></div>
    </div>
    <div class='child_2'>
        ...
        ...
</div>

因此,我正在寻找的命令将返回 2 个元素 - div,其类为“child_1”和“child_2”。

是否可以?

我尝试过使用main_div.find_elements_by_tag_name('div')但它返回了 div 中的所有嵌套 div。


这里有一个方法可以直接找到div类名为“main_div”的 div 的子级:

driver.find_elements_by_xpath('//div[@class="main_div"]/div')

这里的关键是使用单斜线这将使“main_div”内的搜索仅直接非递归查找div孩子们。

或者,用一个CSS 选择器 https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors:

driver.find_elements_by_css_selector("div.main_div > div")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium - 获取所有子 div,但不获取孙子 的相关文章

随机推荐