您的位置:首页 > 其它

xpath选择当前结点的子节点

2016-05-02 18:43 363 查看
在通过selenium使用xpath选择节点的时候,可能会遇到这么一种情况:在指定的当前节点下搜索满足要求的节点。

node = driver.find_element_by_xpath("//div[@class='WB_cardwrap S_bg2 clearfix']")
BZNC = node.find_element_by_xpath("//div[@class='feed_content wbcon']/a[@class='W_texta W_fb']").text
BZZY = node.find_element_by_xpath("//div[@class='feed_content wbcon']/a[@class='W_texta W_fb']").get_attribute("href")


以上代码有什么错误吗?貌似没有,一切都很完美。

先拿到node节点,然后在node节点的子节点中搜索满足条件的节点并取出text及属性。

but!运行的结果却是把整个html中所有满足条件的节点都找出来了,而并非是node节点下的!!!

仔细想一想,”//div”貌似就是搜索整个html下的div,即使是node下的find_element_by_xpath方法!

所以,只需要在”//”前面加上表示当前路径的”.”既可,也就是node.find_element_by_xpath(“.//div”)

(By MrHammer 2016-05-02 下午6点 @Bin House Rainy)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: