您的位置:首页 > 其它

selenium又一小坑 无法用XPATH直接获取属性值 需要使用.get_attribute(“href”)

2017-03-23 22:48 246 查看
在使用selenium进行抓取url的时候,试图使用find_elements_by_xpath来获取。

因此想当然的直接使用XPATH的语法进行获取属性

事例缩略后xml结构如下

<div class="qg-limit-list" data-spm="1998564503" data-spm-max-idx>
<a href="//item.taobao.com/item.htm?spm=a21bz.7725273.1998564503.46.1Tdtjr">
<img src="//img.alicdn.com/tps/TB1lUEgLpXXXXbzXXXXXXXXXXXX-114-114.png" class="qg-img-tag">


按照XPATH正常的语法,想要获取a标签的url也就是href的属性应该写作

//div[@class="qg-limit-list"]/a/@href


然而在使用find_elements_by_xpath一直报错,显示只能存放element而不是object。

最后的解决办法就是,这里只取到标签级,想要获取元素在之后再获取如下

xpath_urls = '//div[@class="qg-limit-list"]/a'
urls_pre = browser.find_elements_by_xpath(xpath_urls)
url = urls_pre[0].get_attribute("href")


对,就是加.get_attribute(“href”),同理想要获得其他属性值,也可以通过他来获取。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  selenium xpath
相关文章推荐