在使用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">
1
2
3
4
按照XPATH正常的语法,想要获取a标签的url也就是href的属性应该写作 //div[@class="qg-limit-list"]/a/@href
1
然而在使用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")
1
2
3
对,就是加.get_attribute(“href”),同理想要获得其他属性值,也可以通过他来获取。
————————————————
版权声明:本文为CSDN博主「laval_liyichen」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hacklyc/article/details/65454285

  

selenium又一小坑 无法用XPATH直接获取属性值 需要使用.get_attribute(“href”)的更多相关文章

  1. HtmlAgilityPack中使用xpath获取属性值

    HtmlAgilityPack介绍 HtmlAgilityPack是一个专门用来解析Html的库,它可以使用xml的方式来解析html. 有人说了,html本身不就是xml?是的,html就是xml, ...

  2. Selenium webdriver 获取属性值 元素里的value

    1.WebElement webElemt= webElement.findElement(By.xpath("//*[@class='xxxxxx]/a")); //在ie下使用 ...

  3. No.10 selenium学习之路之通过元素定位获取属性

    1. implicitly_wait()隐形等待.等待页面加载完成,作用是全局的. 时间可以设置的长,短时间也没有影响.直到设置的时间耗完 时间耗完也不会报错 2.获取title值 driver.ti ...

  4. Selenium脚本编写环境的搭建/XPath

    编写环境主要分为三个部分: JUnit : java单元测试框架: Firebug: firefox 附加组件,Firebug是firefox下的一个扩展,能够调试所有网站语言,如Html,Css等, ...

  5. Selenium2学习-036-WebUI自动化实战实例-034-JavaScript 在 Selenium 自动化中的应用实例之六(获取 JS 执行结果返回值)

    Selenium 获取 JavaScript 返回值非常简单,只需要在 js 脚本中将需要返回的数据 return 就可以,然后通过方法返回 js 的执行结果,方法源码如下所示: /** * Get ...

  6. Selenium2学习-031-WebUI自动化实战实例-029-JavaScript 在 Selenium 自动化中的应用实例之四(获取元素位置和大小)

    通过 JS 或 JQuery 获取到元素后,通过 offsetLeft.offsetTop.offsetWidth.offsetHeight 即可获得元素的位置和大小,非常的简单,直接上源码了,敬请参 ...

  7. 使用 lxml 中的 xpath 高效提取文本与标签属性值

    以下代码在 python 3.5 + jupyter notebook 中运行测试无误! # 我们爬取网页的目的,无非是先定位到DOM树的节点,然后取其文本或属性值 myPage = '''<h ...

  8. Python+selenium之获取文本值和下拉框选择数据

    Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_ ...

  9. Python通过lxml库遍历xml通过xpath查询(标签,属性名称,属性值,标签对属性)

    xml实例: 版本一: <?xml version="1.0" encoding="UTF-8"?><country name="c ...

随机推荐

  1. day 68

    目录 表单指令 条件指令 循环指令 分隔符 过滤器 计算属性 监听属性 表单指令 v-model="变量",变量值与表单标签的value相关 v-model可以实现数据的双向绑定, ...

  2. MySQL Error--InnoDB Table mysqlinnodb_index_stats has length mismatch in the column

    使用MySQL 5.7.24版本的安装文件替换MySQL 5.7.19版本的安装文件,数据库复制频繁中断,查看error日志发现下面错误: [Warning] InnoDB: Table mysql/ ...

  3. 【前端_js】jQuery动态设置元素的样式

    1.用css()方法查询元素的某个样式 $("div").css("padding-left")); 2.用css()方法设置元素的样式 法一: $(" ...

  4. 【Spring Cloud】Spring Cloud之自定义@SpringCloudProfile注解实现@Profile注解的功能

    一.为什么会想到定义@SpringCloudProfile这样的注解 首页提一下@Profile注解:它主要用与Spring Boot多环境配置中,指定某个类只在指定环境中生效,比如swagger的配 ...

  5. javascript之DOM(三Element类型)

    Element类型用于表现XML和HTML的元素,提供了对元素标签名.子节点及特性的访问. 要访问标签名可以使用nodeName和tagName属性,其返回值是一样的. <p id=" ...

  6. linuxIP地址配置字段说明

    虚拟机网络适配器改成桥接 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 设备名称 BOOTPROTO=dhcp /static 自动 ...

  7. 用 Splashtop Wired XDisplay HD 让 ipad做电脑扩展屏幕__亲测有效

    参考: [1]https://blog.csdn.net/Tang_Chuanlin/article/details/86433152

  8. 通过async实现协程的延迟执行及结果获取

    在上一次https://www.cnblogs.com/webor2006/p/12022065.html对于协程的async和wait进行了初步的学习,其可以加速执行的性能,其实对于async它是提 ...

  9. 什么是amp?amp有什么用处?

    AMP是移动页面加速器Accelerated Mobile Pages的简称,是Google带领开发的开源项目,目的是为提升移动设备对网站的访问速度.它的核心称作AMP HTML,是一种新型的HTML ...

  10. DataOps Reading Notes

    质量.效率.成本.安全,是运维工作核心四要素. AIOps 技术会涉及到数据收集方面的基础监控,服务监控和业务监控,甚至会涉及到与持续交付流水线的数据和状态整合(比如在软件发布的阶段会自动关闭某些监控 ...