我想開發一個應用程序,它會自動(基於某種邏輯)抓取網頁。自動點擊並張貼在頁面上進行測試。把它想象成Selenium。你能推薦任何可嵌入的Javascript引擎嗎?
對於簡單的網頁,這可以很容易地完成我的廢除HTML代碼,然後提出一個新的請求到服務器的下一頁。問題在於處理Ajax頁面。 如何處理HTML中的JS代碼?
要分解它,問題的不同部分將會是。 JS引擎必須: -
- 解析HTML代碼,使服務器請求獲取外部簡稱JS文件。可能會提供一個鉤子讓用戶代碼爲引擎獲取它。
- 在瀏覽器中創建HTML元素的DOM樹,並讓用戶代碼訪問並操作它們。
- 讓用戶代碼掛鉤到JS事件。
一個典型的JS代碼執行以下任務: -
- 訪問DOM元素。
操作現有DOM元素。
a.This可以是化妝品(如更改高度等)用戶代碼沒有興趣,這將是非常困難的,因爲它需要一個佈局引擎。
b。這可以是屬性的操縱。用戶代碼會對此感興趣。
添加新的DOM元素。
- 爲Ajax發出Http請求。
你可以給我任何可嵌入的JS引擎,我可以用來實現所有這些?我選擇的語言是Java,但是C/C++或Python可以。我不確定,但Mozilla Rhino是否符合上述法案?
如果我要把它想像爲硒,我不妨使用硒... – 2011-03-04 19:18:50
也許吧。如果Selenium在我入伍的時候控制了JS,那麼我的下一個問題是否會做到這一點? – AppleGrew 2011-03-04 19:25:18