如何网页抓自动填充文本字段

时间:2016-03-06 18:26:10

标签: java autocomplete web-scraping jsoup htmlunit

我正在尝试填写网站表单(compareraja.in)来搜索和比较使用java的手机。我目前正在使用jaunt库,但我不知道如何填写自动填充文本字段,我想要的是在我将一些初始字母应用于文本字段后从自动完成列表中选择一个特定项目。有可能使用jsoup或jaunt或htmlunit或任何其他库吗?

如果是,哪个是最好,最简单的选择?它怎么能这样做?

Image of the autocompleting textfield

1 个答案:

答案 0 :(得分:1)

我的线索是,首先你需要检索在你申请某些字母后出现的整个自动填充列表。如果您在e中打开网页。 G。 Chrome,转到开发人员工具 F12 ,网络标签,然后您会看到每次在文本字段中输入字母时,相应的 X ML H TTP R equest将记录在列表中。

例如,我已输入" htc":

compare products autocompletion

在网络选项卡上,最后一个XHR标题部分包含所有必需的查询参数:

request

“响应”部分显示收到的数据,实际显示在该自动完成列表中:

response

因此,您可以将GET XHR设为网址http://www.compareraja.in/autocompletedata.ashx?q=htc+&c=mobiles&limit=150(您甚至可以点击此链接或将其粘贴到浏览器的地址行进行测试),其中您的网址编码的首字母应为放置而不是htc+。没有timestamp参数,它可以正常工作。

之后,您可以轻松解析回复,按\n;字符拆分文字,并使用所选项目填充文本字段。