Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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
如何获取td标记jsoupjava之后的第一个元素子元素_Java_Html_Jsoup - Fatal编程技术网

如何获取td标记jsoupjava之后的第一个元素子元素

如何获取td标记jsoupjava之后的第一个元素子元素,java,html,jsoup,Java,Html,Jsoup,我需要帮助。 我想在这个网站上获取这个表的所有td文本 。但是有一个带有超链接的特殊td标签 我只想得到包表的详细信息 编辑: 我想获取id=form01:tableEx4\u数据的tbody行 第三张图片就是我想要的 网站的部分代码: 普通圭亚那 波哥大(坎迪纳马卡) 04/04/2018 17:33:05 安格鲁中心酒店 波哥大(坎迪纳马卡) 04/05/2018 01:35:25 Tipo moviento:| 2| 十一月 铁甲 描述诺维达德酒店 07/04/2018 我可以得

我需要帮助。 我想在这个网站上获取这个表的所有td文本

。但是有一个带有超链接的特殊td标签

我只想得到包表的详细信息

编辑:

我想获取id=form01:tableEx4\u数据的tbody行 第三张图片就是我想要的

网站的部分代码:


普通圭亚那
波哥大(坎迪纳马卡)
04/04/2018 17:33:05
安格鲁中心酒店
波哥大(坎迪纳马卡)
04/05/2018 01:35:25
Tipo moviento:| 2|
十一月
铁甲
描述诺维达德酒店
07/04/2018

我可以得到td标签,如(表格行):波哥大GUIA GENERADA(CUNDINAMARCA),2018年4月17:33:05-波哥大Ingreo AL CENTRO LOGISTICO(CUNDINAMARCA),2018年4月5日01:35:25,但“SALIO A CIUDAD DESTINO”行显示了我不想要的更多细节。只有我想要文本“SALIO A CIUDAD DESTINO”。

也许这能帮到你

WebElement datewidget = driver
            .findElement(By.id("form01:tableEx4_data"));
    List<WebElement> rows = datewidget.findElements(By.tagName("tr"));
    List<WebElement> columns = datewidget.findElements(By.tagName("td"));

    for (WebElement cell : columns) {
        if (cell.getText().equals("SALIO A CIUDAD DESTINO")) {
            cell.click();
            break;
        }
    }
WebElement-datewidget=driver
.findElement(按.id(“form01:tableEx4_数据”);
列表行=datewidget.findElements(按.tagName(“tr”));
列表列=datewidget.findElements(按.tagName(“td”));
for(WebElement单元格:列){
if(cell.getText().equals(“SALIO A CIUDAD DESTINO”)){
单元格。单击();
打破
}
}

如果您正在使用Jsoup,下面的代码可能会对您有所帮助

 Element form = document.getElementById("form01:tableEx4_data");
 Elements tdList = form.getElementsByTag("td");
 for(Element td: tdList) {
       System.out.println(td.text()); // td.text() is different from td.html() 
  }
结果如下:

GUIA GENERADA
BOGOTA (CUNDINAMARCA)
04/04/2018 17:33:05
INGRESO AL CENTRO LOGISTICO
BOGOTA (CUNDINAMARCA)
04/05/2018 01:35:25
SALIO A CIUDAD DESTINO
BOGOTA (CUNDINAMARCA)
04/05/2018 22:43:17
INGRESO AL CENTRO LOGISTICO
BARRANQUILLA (ATLANTICO)
04/06/2018 23:57:50
EN ZONA DE DISTRIBUCION
BARRANQUILLA (ATLANTICO)
04/09/2018 06:24:10
REPORTADO ENTREGADO
BARRANQUILLA (ATLANTICO)
04/09/2018 12:48:58
ENTREGA VERIFICADA
BARRANQUILLA (ATLANTICO)
04/09/2018 17:54:44
但是,如果您正在使用另一个库,也可以使用regex获取“a”标记之间的文本

String s = "<a href=\"https://www.servientrega.com/RastreoContado/RastreoContado2.faces?idGuia=2003159909&amp;idPais=1#\" id=\"form01:tableEx4:2:linkDesMov11\" name=\"form01:tableEx4:2:linkDesMov11\">SALIO A CIUDAD DESTINO</a>";
final Pattern pattern = Pattern.compile(">(.+?)<");
final Matcher matcher = pattern.matcher(s);
matcher.find();
System.out.println(matcher.group(1));

谢谢,但不要。我想获取id=form01:tablex4_数据的tbody行。我的结果得到了td标签“SALIO A CIUDAD DE DESTINO”的超链接,我只希望td标签文本“SALIO A CIUDAD DE DESTINO”没有超链接。
String s = "<a href=\"https://www.servientrega.com/RastreoContado/RastreoContado2.faces?idGuia=2003159909&amp;idPais=1#\" id=\"form01:tableEx4:2:linkDesMov11\" name=\"form01:tableEx4:2:linkDesMov11\">SALIO A CIUDAD DESTINO</a>";
final Pattern pattern = Pattern.compile(">(.+?)<");
final Matcher matcher = pattern.matcher(s);
matcher.find();
System.out.println(matcher.group(1));
SALIO A CIUDAD DESTINO