xPath Help - 选择字符串中的特定单词

时间:2015-09-27 21:08:15

标签: xml xpath web-scraping

我希望使用xPath提取字符串的一部分。

全字符串 -

  

信息(非小说),1,303个单词,S级(3年级)

HTML code:

<div class="bookInfo">
    Informational (nonfiction),
1,303 words,
Level S  (Grade 3)
</div>

我希望从这些字符串中提取单词的数量,即 - 1,303 words在这种情况下

此字符串的xPath类似于

//*[@id="contentarea-inner"]/div[3]/div[2]/div

有问题的网页 - https://www.readinga-z.com/books/leveled-books/book/?id=820

请告知我如何修改xPath以便仅从页面中提取单词数。我有几千页来从

获取此信息

由于

2 个答案:

答案 0 :(得分:1)

您可以使用java中的split函数实现相同的功能

使用代码: -

String text= driver.findElement(By.xpath("//*[@id='contentarea-inner']/div[3]/div[2]/div")).getText();
String count1 = text.split(",")[1];
String count2 = text.split(",")[2];
String count = count1 + count2;
System.out.println(count);

如果仍然遇到任何问题,请回复我:)

答案 1 :(得分:1)

基本上你需要xpath和regex:

  1. 通过xPath获取div节点的文本(参见Shubham Jain的代码)
  2. 将正则表达式应用于文本;例如。这个:\s[,\d]+(?= words)。请参阅文本节点上的regex's work