xpath提取信息与selenium中信息的提取区别与联系

  1. xpath介绍
    xpath在一般用的比较广泛, 是一门在 XML 文档中查找信息的语言。
    在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。

  2. 使用xpath注意点
    一般用xpath查找内容返回的都是列表,查找不到的返回空列表,如下面的例子,在爬虫中使用xpath:
    获取文本信息:reviews = response.xpath(’//[@id=“acrCustomerReviewText”]/text()’).extract_first()
    获取元素属性id:reviews = response.xpath(’//
    [@id=“acrCustomerReviewText”]/@id’).extract_first()
    获取一个元素下面所有的文本信息用string()返回的是一个字符串:
    response.xpath(“string(//div[@class=‘post-content’])”).extract()
    reviews = response.xpath(“string(//*[@id=‘acrCustomerReviewText’]//text())”).extract
    xpath提取信息与selenium中信息的提取区别与联系_第1张图片
    提取图中 “1 customer review”,此处用.extract_first()则是取列表第一项,等价于extract[0]

  3. 在selenium使用xpath
    xpath其实是selemum提取信息的一种方式,下面是其具体用法:
    1,定位一个元素
    获取文本信息:xxx.find_element_by_xpath("//[@id=“acrCustomerReviewText”]") .text 如果有多个则定位第一个元素,如果定位不到则返回异常,text方法可获取元素下所有的文本信息。
    获取属性id:xxx.find_element_by_xpath("//
    [@id=“acrCustomerReviewText”]") .get_attribute(“id”)
    2,定位多个元素
    xxx.find_elements_by_xpath(“绝对路径”) 返回一个列表,定位不到报异常(不确定),解决异常方法基本有两种:1,单独写一个判断函数,判断元素是否存在,2,如果用pythong,则用 try / expect 进行捕获。

你可能感兴趣的:(xpath信息提取)