selenium又一小坑 无法用XPATH直接获取属性值 需要使用.get_attribute(“href”)
2017-03-23 22:48
246 查看
在使用selenium进行抓取url的时候,试图使用find_elements_by_xpath来获取。
因此想当然的直接使用XPATH的语法进行获取属性
事例缩略后xml结构如下
按照XPATH正常的语法,想要获取a标签的url也就是href的属性应该写作
然而在使用find_elements_by_xpath一直报错,显示只能存放element而不是object。
最后的解决办法就是,这里只取到标签级,想要获取元素在之后再获取如下
对,就是加.get_attribute(“href”),同理想要获得其他属性值,也可以通过他来获取。
因此想当然的直接使用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”),同理想要获得其他属性值,也可以通过他来获取。
相关文章推荐
- 反射类的使用ReflectUtil(设置set和获取get某个类属性值)
- 使用get_attribute时,需要注意的地方
- JS使用getComputedStyle()方法获取CSS属性值
- 反射类的使用ReflectUtil(设置set和获取get某个类属性值)
- SpringMVC 使用uploadify插件上传文件,post方法无法直接获取参数问题
- JS使用getComputedStyle()方法获取CSS属性值
- 使用spring mvc Controller中使用@Value无法获取属性值
- JS使用getComputedStyle()方法获取CSS属性值
- CODEGEN: 参数“GetDataResult”需要其他方案信息,使用参数模式无法捕获这些信息。特定特性为“System.Xml.Serialization.XmlElementAttribute
- 为了获取某个控件的高度,直接getHeight为0的情况下使用
- Selenium2 入门[1] —— 获取XPath来定位元素 : Frebug , FirePath 插件的安装及使用
- Selenium获取input值的两种方法:WebElement.getAttribute("value")和WebElement.getText()
- struts2使用modeldriven执行转向更新页面是直接将getByID()获取到的值赋值给model数据不回显
- 使用Struts2-tags的include,所带参数无法通过ongl直接获取的问题
- spring mvc Controller中使用@Value无法获取属性值
- 直接用request.setAttribute()会报错,在这之前应该先让request获取ServletActionContext.getRequest();方法 // request.getAttribute同理
- 接口测试入门(2)--get和post初级请求/使用httpclient做一个获取信息list的请求(需要登录才可以)
- Android studio apk直接发送到手机无法使用的问题及扩展/apk签名/SHA1的获取
- 原生JS获取内嵌,外部css样式,使用style只能直接获取内联style的属性值
- 安卓使用getContentResolver直接获取相册图片