2015-11-25 13 views
2

- 嘿夥計,填寫一個HTML形式複雜的域名(點符號輸入標籤)與Java和短途旅遊API

我建立一個Java的工具,試圖自動填寫一些表格使用Java和Jaunt API在HTML-Page中使用input元素。

的HTML代碼是否像:

<fieldset class = "fieldsetlong"> 
<legend>searchprofile</legend> 
<label for="reference">reference:</label> 
<input maxlength="50" name="reference" id="reference" type="text" /> 
</fieldset> 

<fieldset class = "fieldsetlong"> 
<legend>searchcriteria</legend> 
<label for="surname">surname:</label> 
<input name="searchprofile.surname" id="surname" type="text" /> 
</fieldset> 

由Java代碼中的 「正常」 輸入場reference(它的工作原理)填充的樣子:

form.set("reference", "123Test"); 

不幸的是,我我無法填寫名稱中使用點號searchprofile.surname的字段

下面是我嘗試過的一個示例(未成功):

form.set("surname", "TestPerson"); 
form.set("searchprofile.surname", "TestPerson"); 
form.set("name=\"searchprofile.surname\"", pers.getSurname()); 
form.set("id=\"surname\"", pers.getSurname()); 

每條命令我得到一個NotFoundException,不知道我是否能與短途做到這一點的。

它會感謝在這方面的任何形式的幫助。

在此先感謝

編輯 - 在那裏有JSoup到達點譜寫輸入場searchprofile.surname的方法嗎?

HTML允許在name的點 - 屬性,但Jaunt接受這個abc.name

回答

0

今天,在工作中Jaunt解決方案與

form.set("searchprofile.surname", "TestPerson"); 

工作就像一個魅力。

我不知道什麼問題是早些時候,但我很高興它的工作。

HTML允許使用點和減等,我誤解爲某種嵌套形式或層次結構,但點符號只是HTML中的有效屬性name

1

不確定約Jaunt,從來沒有使用過。然而Jsoup似乎是一個相當不錯的圖書館在這裏使用。我自己一直在使用Jsoup相當長的時間,它已經非常成功抓取網頁,填寫輸入表格並提交,當然,HTML解析

我已一步步指導填寫表單輸入字段,並提交到服務器在以下答案:How to login with Jsoup

基本上它的工作原理非常相似,你的代碼,一個很簡單的例子是:

Connection.Response response = Jsoup.connect(url) 
            .data("Name", "Value") 
            .method(Method.POST).execute(); 
+0

感謝您的回覆。你認爲'JSoup'能夠達到'searchprofile.surname'的輸入字段嗎?我將在工作中對它進行測試。 – Baris