Re: [JSP ] 在 Server 端用 HtmlUnit

看板java作者 (自立而後立人)時間10年前 (2014/05/13 13:10), 10年前編輯推噓2(204)
留言6則, 2人參與, 最新討論串6/6 (看更多)
※ 引述《Laisky (Wilaind)》之銘言: : 大家好, : 最近想寫個網頁行為自動化的程式,像 FB 登入留言 : 於是用了 HtmlUnit : http://htmlunit.sourceforge.net/ : 來模擬平常我們在瀏覽器上的行為, : 想請問一下,我以這個 Library 來模擬行為,像點網頁,Cross domain post form : 是一個好的方向嗎? 不過如果目標網頁與你熟 http 的話, 直接找到 form 的 target 或直接針對 html source 做事, 某個角度上比起倚賴一個(模擬的) browser 會更穩定一點。 另外假設網頁不會變這個前提基本上是錯的, 但只要做到當網頁變了你程式就會適當的 fail 不會寫入怪怪的資料, 那對這件事情的處理就是對的。 (通常我會設定我自己預期的網頁特徵, 比方說我會先檢查我所有對應用到的 dom 都如我預期的活著, 才進行 parse。) : 因為我想實作在 Server 端,然後用 HTML, JavaScript 來方便地呈現我的 UI : 但是整體感覺對 Library 的 Dependency 好高呀, : 而且這 Library 在 JSP 跑時遇到的錯誤、Exception 比在一般 java 程式跑還多... : 所以想說是不是搞錯方向了, : 來問問大家的意見,謝謝~ 先不論你是不是把 java application 跟 jsp 弄混的這件事情, 你的 Dependency 讀起來有幾種意思,一個是對於這個 lib 是否可以信任: 我認為倚賴 HtmlUnit 這種實作上相對比較不穩定的 lib,的確不是件好事。 (btw 先說我曾經用過 HtmlUnit 相關的技術應用在工作上約數個月到一年) 類似的 solution 如 WebDriver(IEDriver,ChromeDriver,FirefoxDriver) (以上包含 HtmlUnit 都屬於 selenium 相關會碰到的) 這些的缺點都是因為 browser 本身的執行效率、穩定性, 網頁的語法的品質,這些因素加起來容易產生不穩定的 crash , 所以可以的話我會建議你找到該做的 form 或該 parse 的資料, 用 httpclient 這種相對比較穩定的 lib 去做, 因為只需要拿 source 跟記 cookie,相對會比 html unit 穩定很多。 另一個可能意思是討厭多一個 jar 、在 project 多設定一次 classpath , 這個倒是好解決,學會使用 maven 等常見的 dependency 管理機制就好了。 btw 我是認為 MVC 對原題偏向於題外話,不是問題的主要核心, 先搞定主要問題再去研究怎麼把週邊問題處理好就行了。 -- 應該是沒漏掉什麼了。 -- I have a dream, it's silly but beautiful. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.129.182 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1399957847.A.A63.html ※ 編輯: TonyQ (118.168.129.182), 05/13/2014 13:13:22 ※ 編輯: TonyQ (118.168.129.182), 05/13/2014 13:47:03

05/13 14:15, , 1F
TonyQ大大
05/13 14:15, 1F

05/13 15:01, , 2F
假設網頁不會變的那點,我的確是沒有處理...
05/13 15:01, 2F

05/13 15:04, , 3F
而 dependency 的考慮跟前一點差不多,不過後來我還有遇到
05/13 15:04, 3F

05/13 15:22, , 4F
javascript 處理的問題,我用了 http 去做了相應的事,但沒
05/13 15:22, 4F

05/13 15:25, , 5F
得到相應的結果,這樣來說,我應該再找找看那時的問題點。
05/13 15:25, 5F

05/13 15:27, , 6F
因為我的確也想照您所說的只用 http 來完成。
05/13 15:27, 6F
文章代碼(AID): #1JSQbNfZ (java)
討論串 (同標題文章)
文章代碼(AID): #1JSQbNfZ (java)