使用JSOUP在HTML表中选择链接

时间:2014-07-13 20:13:18

标签: java html jsoup

如何使用Jsoup单击HTML表格中的链接并加载文档。 我能够获得href,但它没有正确格式化,所以我无法加载页面。

Element table = doc.select("table.dxgvTable_Office2010Blue");
Elements l = table.select("a");
for(Element links : l){
    System.out.println(links.text() + "\t" + links.attr("href"));
}

下面是表格中每一行的html代码

</tr><tr id="ctl00_pageMain_dataGrid_DXDataRow8" class="dxgvDataRow_Office2010Blue">
                        <td class="dxgv"><a class="dxeHyperlink_Office2010Blue" href="javascript:focusedRowField.Set(&#39;row&#39;, dataGridClient.GetRowKey(dataGridClient.GetFocusedRowIndex())); drilldown_button.DoClick();">Canadian Short Term Fixed Income</a></td><td class="dxgv" align="right">47,591</td><td class="dxgv" align="right">4.21 %</td><td class="dxgv" align="right">260.2</td><td class="dxgv" align="right">0.55%</td><td class="dxgv" align="right">2,154.9</td><td class="dxgv" align="right">44,970</td><td class="dxgv" align="right">4.79%</td><td class="dxgvHEC"></td>

如果以下输出是href中保存的内容,如何点击链接'加拿大短期固定收益'?

javascript:focusedRowField.Set('row',
    dataGridClient.GetRowKey(dataGridClient.GetFocusedRowIndex()));  
drilldown_button.DoClick();

如何使用Java执行网址点击?

1 个答案:

答案 0 :(得分:1)

您无法点击带有JSoup的按钮。 JSoup是一个提取/操作信息的解析器,但您无法触发操作并执行相关的javascript。

实现这一目标的一种简单方法是使用工具自动化真实浏览器,例如Selenium