2019獨角獸企業重金招聘Python工程師標準>>>
在通過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”)
?
http://blog.csdn.net/destinyuan/article/details/51297611
?