selenium 无法用XPATH直接获取属性值 需要使用.get_attribute(“属性名”)

在使用selenium进行抓取url的时候,试图使用find_elements_by_xpath来获取
因此想当然的直接使用XPATH的语法进行获取属性
事例缩略后xml结构如下

<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”),同理想要获得其他属性值,也可以通过他来获取
同时我还发现,使用.get_property(“href”)也可以取到属性值,暂时未发现这2个方法得区别。

相关文章

这个问题和curl无法访问https资源是类似的,现在curl可以访问https资源,但是使用pecl安装扩展的时候不行...
在浏览器输入chrome://flags/回车,找到Omnibox UI Hide Steady-State URL Scheme and Trivial Subdoma...
方法一: 我们都知道Ubuntu有一个专门用来安装软件的工具apt,我们可以用它来全自动安装arm-linux-gcc。...
中文的windows下的cmd默认使用GBK的编码,敲代码时,页面使用的是UTF-8(65001),而powershell控制台默认...
提示错误: arm-linux-gcc:Command not found PATH里有/usr/oca/arm/bin,但是make的时候,就是找不到 a...
我在Graph API开发中用的最多的测试工具就是Graph Explore,这个是微软开发的网页版的Graph API的测试工...