2016-03-06 33 views
1

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

如果是的话,哪个是最好,最简单的选择?又如何做呢?

Image of the autocompleting textfield

回答

1

我的线索是,首先你必须找回你已经应用了某些字母后出现的整个自动完成列表。如果您在e中打开网页。 G。 Chrome,转到开发工具F12,网络标签,然后你会看到,每次键入文本字段字母,相应X ML ^h TTP [R eQUEST的记录在列表中。

例如,我输入了 “HTC”:

compare products autocompletion

在网络选项卡最后一个XHR头部分包含所有必要的查询参数:

request

并且响应部分显示接收的数据,实际显示在该自动完成列表中:

response

所以,你可以只让GET XHR到URL http://www.compareraja.in/autocompletedata.ashx?q=htc+&c=mobiles&limit=150(你甚至可以点击此链接或将其粘贴到浏览器的地址线来测试),你的URL编码的首字母应放置,而不是htc+。它工作正常,没有timestamp参数对我来说。

之后,很容易解析响应,将文本拆分为\n;字符,然后用选定的项目填充文本字段。

+0

Thanx很多omegastripes。 –