看板 java 關於我們 聯絡資訊
※ 引述《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
deicide218:TonyQ大大 05/13 14:15
Laisky:假設網頁不會變的那點,我的確是沒有處理... 05/13 15:01
Laisky:而 dependency 的考慮跟前一點差不多,不過後來我還有遇到 05/13 15:04
Laisky:javascript 處理的問題,我用了 http 去做了相應的事,但沒 05/13 15:22
Laisky:得到相應的結果,這樣來說,我應該再找找看那時的問題點。 05/13 15:25
Laisky:因為我的確也想照您所說的只用 http 來完成。 05/13 15:27