Re: [JSP ] 在 Server 端用 HtmlUnit
※ 引述《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
05/13 14:15, 1F
推
05/13 15:01, , 2F
05/13 15:01, 2F
→
05/13 15:04, , 3F
05/13 15:04, 3F
→
05/13 15:22, , 4F
05/13 15:22, 4F
→
05/13 15:25, , 5F
05/13 15:25, 5F
→
05/13 15:27, , 6F
05/13 15:27, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):