最近用xpath,刚开始有很多问题

用测试代码跑的时候经常获取不到值。

第一种情况:

page= etree.parse('text.html')  #text.html为一个html文件
<class 'lxml.etree._ElementTree'>

page = etree.HTML(html)          #heml为一个字符串
<class 'lxml.etree._Element'>

    一开始通过使用字符串进行解析,通过page.xpath()进行元素获取,找不到值,后面发现这个type是“lxml.etree._Element” ,而不是“lxml.etree._ElementTree”

    获取所有元素的时候两个都行,但是通过id或者class获取时下面的那个获取不到。使用第一种就行。

第二种情况:

/     从根节点选取。
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
这两个符号是官网解释。 下面是我的代码
html.xpath('/div[contains(@id,"test")]')
html.xpath('//div[contains(@id,"test")]')
发现第一个中不到元素,第二个可以。

附上html代码:

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book class="ook">
book1111
<title lang="eng">Harry Potter</title>
<price id='11'>29.99</price>
</book>
<book class="ook">
book2222
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
<div id="test" class="rr"><title id="eng">Learning XML</title>
</div>
</bookstore>

目前存在这些问题体,后面遇到再加。

最新文章

  1. greendao对SQLite数据库的增删改查操作
  2. 漫谈可视化Prefuse(六)---改动源码定制边粗细
  3. jquery 生成 html 绑定
  4. subList和asList
  5. JavaScript学习——内置属性
  6. Log4.net使用配置
  7. 学习Swift--方法
  8. Android网络开发之OkHttp--基本用法GET
  9. laravel中数据库在哪个文件中配置
  10. php类中的$this,static,const,self这几个关键字使用方法
  11. PHP学习笔记 02 之文件上传
  12. 【easy】268. Missing Number
  13. vue全局使用axios插件请求ajax
  14. lambda、map、reduce、filter函数讲解
  15. Android--保持加速度传感器在屏幕关闭后运行(收集)
  16. Intent Activity跳转 传递数据 Bundle
  17. 纯小白入手 vue3.0 CLI - 2.6 - 组件的复用
  18. OpenCV 数字验证码识别
  19. hadoop 知识点
  20. 【原】MySQL实用SQL积累

热门文章

  1. python日期格式化操作
  2. go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin
  3. AngularJs 服务 广播
  4. 设计模式-策略模式(strategy pattern)
  5. 查看keras自动给文件夹标号
  6. 搭建SpringCloud-Eureka 注册中心以及服务提供与调用
  7. SSL,TLS
  8. socketserver实现并发
  9. 基于Jenkins Pipeline的ASP.NET Core持续集成实践
  10. asp.net core系列 51 Identity 授权(下)