我无法使用jSoup访问此页面上的javascript可扩展菜单。如何使用Phantom.js或HTML单元使其工作?

时间:2015-01-27 15:07:49

标签: javascript parsing jsoup phantomjs htmlunit

解析this页面时遇到问题。我完全得到了价格,航空公司,出发时间等。

但我想要的是航班号。它隐藏了,你需要点击一个航班,菜单会展开以显示它。

enter image description here 这里是jsoup必须停止的地方。如果你点击"查看来源"在任何地方,它都不会表现出来,例如航班" 6186"。如果您展开菜单并右键单击那里,它将为您提供返程。

我要搜索的具体信息是:

enter image description here

所以,我注意到我需要使用像无头浏览器这样的东西来访问所有内容。但是当我试图了解phantom.js或htmlunit时,我开始遇到了很多问题。我无法制定我需要的东西,并且我对无头浏览器的功能感到恼火。关于如何将其转换为可解析HTML的示例代码非常好。

有没有人有解析像这样的元素的经验?非常感谢你。

最好的问候!

更新回答jPO的评论。其他帮助仍然非常苛刻 - 这是我在检查事件时看到的: enter image description here

更新2:有关如何执行此操作的任何想法?也许无头浏览器?

1 个答案:

答案 0 :(得分:1)

所以回答一下这段代码。

$.ajax({
  url:"http://www.kayak.de/s/run/inlineDetails/flight",
  type:"post",
  dataType:"json",
  data:{
    localidx:104,
    resultid:"ea63237698f20885f47a9b3827f9953b",
    searchid:"kUECCUIWzU"
  }
});

您可以看到有服务器在等待您的请求。试图理解发送到服务器的参数给了我很少的选择,我将坚持这些。 localidx是按钮Details anzeigen中写的id resultid也写在该按钮内 searchid是在名称标签

中使用id master-1的iframe中编写的

我希望你是正则表达的朋友,因为那是你必须要面对的:/

祝你好运!希望我帮忙!