2014-12-03 80 views
0

我有一些代碼通過jsoup解析網頁上的輸入字段。完成代碼後,我發現我的形式也有一些textarea的領域和下拉如何解析textarea並用jsoup選擇

<textarea name='asr_remarks'class='inputbox-highlighted-false'cols=70 rows=3 
onKeyPress="LimitRemark(this);" >This is a test remark for info only</textarea> 

,以及我的選擇框,我怎麼可以檢索所選擇的名稱和值?

<select name="supp" class="textbox"><option value=""></option> 
<option value="1">1 - Cancel</option> 
<option value="2">2 - Due Date Change</option> 
<option value="3">3 - Change after FOC</option> 
<option value="4" selected="selected">4 - Change before FOC</option></select> 
+0

能否請你也表明你的java代碼(僅適用於有關部分,即) – fxm 2014-12-03 17:10:47

+1

爲什麼這個問題標記爲JavaScript? – 2014-12-03 19:45:23

回答

2

參考http://jsoup.org/cookbook/extracting-data/selector-syntax

對於textarea的:

Element t = doc.select("textarea[name=asr_remarks]").first(); 
String t_val = t.html(); 

爲了得到一個選擇框的設定值:

Element opt = doc.select("select[name=supp]").first().select("option[selected]").first(); 
int opt_value = Integer.parseInt(opt.attr('value')); 
String opt_text = opt.html(); 
+0

好吧,我玩了一下,它似乎工作正常,我唯一的問題是,如果沒有找到它的區域未定義,它會引發錯誤。在我嘗試分配它之前,如何檢查以確保有實際的部分。 asrRmk = asrRmk.select(「textarea [name = asr_remarks]」)。first();如果(asrRmk!=「undefined」){ ifrrmk = asrRmk .html(); data = {name =「asr_remarks」 ,value = asrRmk ,type =「textarea」 }; \t // store in array arrayAppend(yourArray,data); } – NoSoup4you 2014-12-03 23:30:42

+1

是的,會發生。如果有可能html不包含元素,則應該使用null檢查以確保元素存在。選擇框也一樣。 – Ananth 2014-12-06 14:21:00