我需要从具有omouseover属性的元素中获取特定值。我需要文本“ uran voitto%”后面的值,在这种情况下为7.85,但我无法弄清楚该怎么做,因为所有内容都在onmouseover属性内部。 有问题的网站是https://ravit.is.fi/paivanravit/?lahto=147497 元素是
<td id="ohjastaja_info_11" style="cursor: pointer;" class="infolink" onmouseover="return overlib('<table bgcolor=#CCCCCC cellspacing=1 width=250><tr bgcolor=#FFFFFF><td align=right width=30><strong>Vuosi</strong></td><td align=right width=30><strong>Startit</strong></td><td align=right width=30><strong>Voitot</strong></td><td align=right width=30><strong>2. sijat</strong></td><td align=right width=30><strong>3. sijat</strong></td></tr><tr bgcolor=#FFFFFF align=right><td align=right width=30><strong>18:</strong></td><td align=right width=30>801</td><td align=right width=30>50</td><td align=right width=30>81</td><td align=right width=30>100</td></tr><tr bgcolor=#FFFFFF align=right><td align=right width=30><strong>17:</strong></td><td align=right width=30>1164</td><td align=right width=30>83</td><td align=right width=30>112</td><td align=right width=30>108</td></tr><tr bgcolor=#FFFFFF align=right><td align=right width=30><strong>Yht:</strong></td><td align=right width=30>18734</td><td align=right width=30>1470</td><td align=right width=30>1651</td><td align=right width=30>1711</td></tr></table>', CAPTION, 'Jarmo Saarela - uran voitto% 7,85', BGCOLOR, '#004d80', FGCOLOR, '#EAEAEA', CAPCOLOR, '#FFFFFF', WIDTH, 250)" onmouseout="nd()">
J Saarela</td>
希望我足够具体。
答案 0 :(得分:0)
Jsoup不能独自做到这一点。它无法解析JavaScript片段中的HTML,但是您可以使用正则表达式来获取该单个值。
String onmouseover = doc.select("td#ohjastaja_info_11").attr("onmouseover");
Pattern pattern = Pattern.compile("uran voitto% ([\\d,]+)");
Matcher m = pattern.matcher(onmouseover);
if (m.find()) {
System.out.println(m.group(1));
}