Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将XPath转换为CSS选择器_Java_Xpath_Css Selectors_Jsoup - Fatal编程技术网

Java 将XPath转换为CSS选择器

Java 将XPath转换为CSS选择器,java,xpath,css-selectors,jsoup,Java,Xpath,Css Selectors,Jsoup,我正在使用Jsoup来抓取页面中的数据,但数据不在特定的标记中 标签在这里数据在这里 使用XPath,我能够获得路径/*[@id=“center text”]/text()[1],但不幸的是,chrome不允许我复制CSS路径 我可以在这里找到标签的CSS路径,但不能找到其他文本的CSS路径。有没有一种方法可以使用CSS选择器语言获取这些数据 样本数据 <div id="center-text"> <strong>ifno</strong> d

我正在使用Jsoup来抓取页面中的数据,但数据不在特定的标记中

标签在这里数据在这里

使用XPath,我能够获得路径
/*[@id=“center text”]/text()[1]
,但不幸的是,chrome不允许我复制CSS路径

我可以在这里找到
标签的CSS路径,但不能找到其他文本的CSS路径。有没有一种方法可以使用CSS选择器语言获取这些数据


样本数据

<div id="center-text"> 
      <strong>ifno</strong> data&nbsp;&nbsp;&nbsp;
      <strong>ifno</strong> data&nbsp;&nbsp;&nbsp;
      <strong>Tifno</strong> data
      <br> 
      <strong>ifno</strong> data&nbsp;&nbsp;&nbsp;
      <strong>ifno</strong> data&nbsp;&nbsp;&nbsp;
      <strong>ifno</strong> data 
</div>

如果没有数据
如果没有数据
Tifno数据

如果没有数据 如果没有数据 如果没有数据
在JSOUP中,您可以使用以下方法:

public Node nextSibling()

获取此节点的下一个同级节点

返回: 下一个同级,如果这是最后一个同级,则为null

你应该在以下时间离开:

Elements elements = doc.select("div[id=\"center-text\"] strong");

for(Element element : elements) {
    System.out.println("nextSibling: " + element.nextSibling());
}
结果将是:

nextSibling:  data&nbsp;&nbsp;&nbsp;
nextSibling:  data&nbsp;&nbsp;&nbsp;
nextSibling:  data
nextSibling:  data&nbsp;&nbsp;&nbsp;
nextSibling:  data&nbsp;&nbsp;&nbsp;
nextSibling:  data 

这行是从另一个标记包装的吗?@VoodooCoder看一下我的编辑,它是数据提交的div。这个答案是正确的,但我必须将XPath更改为css。它应该是
#中间文本
。但除此之外,它是有效的。非常感谢。这其中的一般问题是无法使用CSS选择器选择文本节点: