【xpath】使用 descendant 定位子孙节点

.
.
我们在使用selenium 的xpath方式定位某个元素时,如果这个元素前半部分的路径是确定的,后半部分的路径不确定,并且其中有个img节点是需要我们定位出来的,但是不知道它是第几级子孙节点,这时候就可以用下面的xpath路径写法,总结起来就是 ‘//确定的或固定节点/descendant::子孙节点’ 。

descendant 是子孙后裔的意思。

用这个办法的好处,就是不用管目标节点在几级子孙节点上,都可以定位。而且可以使用find_elements_by_xpath 查找多个匹配的路径,可以同时找出符合要求的子节点、孙节点、曾孙节点等。

#定位img元素节点(使用了descendant::xxx)
elem = driver.find_elements_by_xpath(
    '//*[@id="product-box"]/div[2]/section/div[3]/descendant::img')

# 解析出图片 URL
piclist = []
for e in elem:            
    piclist.append(e.get_attribute("src"))
print(piclist)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章