2015-06-21 78 views
2

我想解析一个html文件。这个html有许多嵌套的div。我想所有孩子的div,但不孙子硒 - 得到所有的孩子divs但不是孙子

这里是一个模式:

<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。

回答

3

这里找到与类名“main_div”的div直接div孩子的方式:

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

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

或者,用CSS selector

driver.find_elements_by_css_selector("div.main_div > div") 
+0

是的,我知道这会是这样,但他们没有被命名“child_n”。所以我正在寻找一种如何让孩子独享的方法。 –

+0

@米兰好了,更新了。 – alecxe

+0

是的,这种方式可行!非常感谢你我是一个非常新的硒。 –

相关问题