【问题标题】:JSOUP Change Selection for TabsJSOUP 更改选项卡的选择
【发布时间】:2018-10-23 10:36:42
【问题描述】:

我正在尝试在一组选项卡中选择时间范围。并使用新时间范围的结果刷新页面,但我不确定如何完成此操作。

这是标签集的 HTML。加载页面时的默认值为每小时。我需要将值更改为每月。

 <div id="technicalstudiesSubTabs">
    <ul class="tabsBoxSubMenu techStudiesTabsSubMenu  innerPage "      id="timePeriodsWidget"  data-view="normal">
        <li pairid="1" data-period="60" class="first"><a href="javascript:void(0);">1 min.</a></li>
        <li pairid="1" data-period="300" class=""><a href="javascript:void(0);">5 mins</a></li>
        <li pairid="1" data-period="900" class=""><a href="javascript:void(0);">15 mins</a></li>
        <li pairid="1" data-period="1800" class=""><a href="javascript:void(0);">30 mins</a></li>
        <li pairid="1" data-period="3600" class="selected "><a href="javascript:void(0);">Hourly</a></li>
        <li pairid="1" data-period="18000" class=""><a href="javascript:void(0);">5 Hours</a></li>
        <li pairid="1" data-period="86400" class=""><a href="javascript:void(0);">Daily</a></li>
        <li pairid="1" data-period="week" class=""><a href="javascript:void(0);">Weekly</a></li>
        <li pairid="1" data-period="month" class=""><a href="javascript:void(0);">Monthly</a></li>
   </ul>
 </div>

一旦每月的值可用,我就可以解析我需要的信息。

提前致谢!! 埃迪·雷

【问题讨论】:

    标签: html parsing jsoup onchange


    【解决方案1】:

    Jsoup 不运行 JavaScript。所以你不能按照你想象的方式去做。

    你有两种可能:

    1) 使用像 Selenium 这样的东西,它实际上驱动一个真正的浏览器,它会执行 JavaScript,你可以通过 Java 访问它。然而,这很慢,并且会为您的项目引入新的依赖项。

    2) 尝试识别按下按钮时对后端进行的实际调用。因此,请确定 JavaScript 实际在做什么。您需要为此使用浏览器开发人员的工具。如果您成功并找到将您的网站设置为“每小时”的 AJAX 调用,那么您可以通过 JSoup 模仿这些调用。

    【讨论】:

    • 我想我更喜欢选项二。我以前从来没有这样做过。你有一个很好的例子的链接,我可以阅读,这样我就可以学习如何使用它?
    • 抱歉,手头没有这个教程。但是应该有大量关于如何使用浏览器开发工具的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 2012-05-23
    • 2016-01-08
    • 2021-07-08
    • 1970-01-01
    相关资源
    最近更新 更多