XPATH 要想获取的东西里不分段,不变成列表就用STRING(),不用TEXT()

Posted oldsnow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XPATH 要想获取的东西里不分段,不变成列表就用STRING(),不用TEXT()相关的知识,希望对你有一定的参考价值。

简单说一说:

requests配合xpath来抓网站数据的时候,不像selenium+xpath。

selenium有  find_element  find_elements,区别是带S ,查找第一个元素,和查找所有元素。

requests只有xpath,简单粗暴的直接查找所有元素。所以tag1,要带下标[0]来输出第一个对象,并且用.text来输出文字信息。

tag2,带下标[0]来输出第一个对象,并且用.text来输出文字信息。但是由于对象中有<br>标签,所以只能取得第一个<br>标签前面的数据。

tag3,我们在xpath规则中加入.text()规则,取得这个标签中的文字信息。由于有<br>标签,文字信息会因为<br>而分割称为列表。

我们可以自己重组列表,转为字符串:

b = [str(i) for i in tag3]
str = ‘‘.join(b)
print(‘tag3-str-->‘,str)

或者不使用text()规则使用xpath(‘string(.)‘):

print(‘tag2-->‘,tag2)
print(‘tag2[0]-string-->‘,tag2[0].xpath(‘string(.)‘))
print(‘tag2[1]-string-->‘,tag2[1].xpath(‘string(.)‘))

两种方式都可以正常获取td标签中带br标签的信息。

以上是关于XPATH 要想获取的东西里不分段,不变成列表就用STRING(),不用TEXT()的主要内容,如果未能解决你的问题,请参考以下文章

我往电脑桌面下东西,可是提示没有足够的可用磁盘空间。怎么才能删除磁盘空间里不想要的??

是否有一个 Actionscript 库可用于使用类似 xpath 的语法来定位显示列表中的 Flex 组件?

无法在 xpath 中获取文本(lxml/python)

xpath

自动化测试由浅入深--自动化测试辅助工具firebug以及xpath,Chrome浏览器Xpath获取。

XElement 上的 XPath 列表