如何获取td标记jsoupjava之后的第一个元素子元素
我需要帮助。 我想在这个网站上获取这个表的所有td文本 。但是有一个带有超链接的特殊td标签 我只想得到包表的详细信息 编辑: 我想获取id=form01:tableEx4\u数据的tbody行 第三张图片就是我想要的 网站的部分代码:如何获取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 我可以得
普通圭亚那
波哥大(坎迪纳马卡)
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&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&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