xpath中normalize-space的实际应用
normalize,字面意思就是正规化 加入space 大概意思就是空格的处理了
官方解释是这样的:
通过去掉前导和尾随空白并使用单个空格替换一系列空白字符,使空白标准化。如果省略了该参数,上下文节点的字符串值将标准化并返回。
刚好在实际项目中碰到了这样的一个问题,
定位一个下来的时候,最开始的时候是这样写的:
li.xpath("./td[2]/text()").extract_first()
但是,每次点击后 class的值便会增加一个空格,这样class=' '这个就无法定位了,后来在同事的指导下,引入了normalize-space这个关键字
修改后的写法就是
li.xpath("normalize-space(./td[2]/text())").extract_first()
这样就搞定了 对于我目前的项目来说很实用
转载于:https://www.cnblogs.com/ittop/p/9337460.html
xpath中normalize-space的实际应用相关推荐
- xpath的数据和节点类型以及XPath中节点匹配的基本方法
XPath数据类型 XPath可分为四种数据类型: 节点集(node-set) 节点集是通过路径匹配返回的符合条件的一组节点的集合.其它类型的数据不能转换为节点集. 布尔值(boolean) ...
- xpath中两个冒号_爬虫学习(5)—XPath
之前我们写了一个简单的爬虫,在提取页面信息时我们使用正则表达式来匹配内容,但是正则表达式的书写比较繁琐,而且一旦错误就可能导致匹配失败.对于网页的节点来说,它可以定义id,class或其他的属性,而且 ...
- xpath中如何使用变量
xpath (python)xpath中如何使用变量 描述: 在xpath中该如何使用变量,想选择id是某个值的元素,这个值是个变量. response.xpath('//div[@id=val]') ...
- 讲讲python使用xpath中遇到[Element a at 0x39a9a80到底是什么
写在前面 本人的所有文章只适合善于使用百度的人,因为所有基础知识个个博客复制粘贴了无数遍,我这里均不会详细讲述. 在这里我表示所有不经验证的转载都是耍流氓,把一篇篇错误的文章转载的到处都是,不知道浪费 ...
- Oracle中shrink space命令
shrink_clause: http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_3001.htm#i2192484 ...
- Oracle中shrink space命令详解
从10g开始,oracle开始提供Shrink的命令,假如我们的表空间中支持自动段空间管理(ASSM),就可以使用这个特性缩小段,即降低HWM.这里需要强调一点,10g的这个新特性,仅对ASSM表空间 ...
- python 0xa什么意思_python使用xpath中遇到:Element a at 0x39a9a80到底是什么?
前言 大家在学习python爬虫的过程中,会发现一个问题,语法我看完了,说的也很详细,我也认真看了,爬虫还是不会写,或者没有思路,所以我的所有文章都会从实例的角度来解析一些常见的问题和报错.下面话不多 ...
- xpath中双斜杆的用处
// 从匹配选择的当前节点选择文档中的节点,不考虑它们的位置 上面的说明有点绕,我们拆开来理解:匹配选择的当前节点就是xpath的双斜杠之前的规则所匹配得到的节点,此时以这个节点作为根节点来找其他节点 ...
- Python下 etree.xpath 中 双斜杠 和单斜杠的区别
标识 含义 '//' 表示从任意节点的任意子节点开始 '/' 表示从当前节点开始 因此一般在xpath输入字符串参数中会以'/'开头,如果以'//'开头会直接从根节点的第一个子节点开始匹配,如果匹配不 ...
- 十四、FLUENT中2D Space设置
对于一些有几何对称的模型,如正方形.圆柱等,当物理边界也是对称时,其物理场也是对称分布的.对于这样的几何模型,如果将整个计算域全部计算一遍固然能够得到最终的数值解,但是会耗费大量的时间,因此,Flue ...
最新文章
- 读完《Effective Java》后,总结了 50 条开发技巧
- mysql大数据量处理
- 小学生在家自学python_小学生都能学会的python(函数)
- Java集合(4)--List接口及其实现类ArrayList、LinkedList和Vector
- 学习Ruby的10条理由
- Tomcat container 内部容器
- jQuery 增加 删除 修改select option
- Visual Studio 2010如何利用宏
- ApsaraDB for SQL Server 混合云场景一种解决方案
- 解决eclipse安装maven的问题:Unable to update index for central
- 在Linux中创建静态库和动态库范例 (hello.c)
- ssm 酒店管理系统
- QA智能问答(QQ匹配)
- c语言中整型实型是什么,C语言中为何整型变量以实型变量输出为0?
- 【antdesign】表单布局和校验
- Go:http request cancelled 服务端感知
- 痱子的预防和治疗方法
- 2021年烷基化工艺考试题及烷基化工艺多少钱
- 100个python算法超详细讲解2.1:三色球
- R mean() 函数 - 计算平均值
热门文章
- Atitit session的概念总结
- Atitit 研发管理之道 attilax总结 艾龙 著 研发管理	1 简介	1 基本理念	2 基本原则	2 内容	3 团队建设	4 流程设计	4 成本管理	4 项目管理	4 绩效管理	4 风险管理
- paip.终端服务器超出了最大允许连接数的解决
- 纳斯达克收购金融数据提供商Quandl
- 一封来自华尔街 Quant 的信
- UBS缘何突然抛弃智能投顾?全球财富管理霸主的数字化转型启示(上)
- C#:重启后,AssemblyInfo中AssemblyTitle的描述内容显示正常.........
- 阿里巴巴集团 CTO 约你聊聊这些事
- 机器学习笔记(二十一):决策边界
- 杭州户籍人口去年净增加21.3万人,接近800万人