java - 使用 JSOUP 选择 HTML 表格中的链接

标签 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 中的内容,我该如何点击链接“加拿大短期固定 yield ”?

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

如何使用 Java 执行对 url 的点击?

最佳答案

您无法使用 JSoup 单击按钮。 JSoup是一个用于提取/操作信息的解析器,但您无法触发操作并执行关联的 JavaScript。

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

关于java - 使用 JSOUP 选择 HTML 表格中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24726703/

相关文章:

java - 不同线程中的 2 个独立执行程序服务生成的线程是否保证不同?

java - 网格宽度和网格高度不起作用

javascript - 显示我的页面何时加载的容器

javascript - div 单击时多个选择会发生变化

html - 在 JSOUP 中用新行 (\n) 替换 <br>

java - 如何解析并返回指向单独的 strings[] 或字符串的链接列表?

java - 如何在构造函数中同时解析 URL?

java - 出现意外的死循环

java - ANTLR4:如何解析 WKT 多边形字符串?

html - Angular NgFor 元素水平显示为标签