我正在使用Process p=Runtime.getRuntime().exec
來打開網頁。我將使用什麼事件處理程序來使用Java單擊打開的網頁上的按鈕?單擊網頁上的按鈕
單擊網頁上的按鈕
回答
沒有,真的。您對所啓動的流程沒有任何如此細緻的控制;您所獲得的只是流程中的輸入,輸出和錯誤流。
如果你想與Java網頁交互(但不在屏幕上顯示),你可以看看HtmlUnit。
您可以配置HtmlUnit以模擬特定的瀏覽器(用戶代理標頭,cookie策略等)。
如果一切都失敗了,你可以編寫一個小的JavaScript控制器,並直接在瀏覽器中打開它,而不是目標網頁。然後,JavaScript控制器可以與您的應用程序進行對話,獲取指令(如要導航到哪個頁面)並對這些指令採取行動。 Selenium是個不錯的選擇,但可能需要您安裝瀏覽器插件。
我想完成的是登錄surveymonkey並下載一個excel文件。我的程序已經可以做到這一點,但由於缺乏瀏覽器,Bluecoat安全性無法在我的工作域中使用。所以我想如果我可以從瀏覽器打開並控制它,它會以這種方式工作。思考? – patrick 2013-03-06 05:07:40
@patrick - 他們究竟是如何檢測到「缺少瀏覽器」?無論如何,我已經用另一種方法更新了我的答案 – radai 2013-03-06 05:13:25
我認爲javascript可能會使這個項目失控。也許不是。但我缺少瀏覽器的意思是與瀏覽器中的用戶憑證相關聯的身份驗證證書。如果您認爲它有幫助,我可以向您發佈我得到的錯誤。因爲我的代碼能正常工作,所以當我嘗試從我的工作域中運行它時就不行。 – patrick 2013-03-06 05:28:52
加入來自radai的回答和評論
a。 「有計劃已經這樣做了,但由於缺乏瀏覽器,因爲Bluecoat的安全問題,它不適用於我的工作領域」 - 這不是因爲缺少瀏覽器。這是因爲你的java進程沒有代理憑證來打開頁面。來自該工具的http調用通過您的代理進行導向。您可以嘗試設置具有所需屬性的環境。
如果您正在運行的命令行工具 - 你可以嘗試這樣的事情
JAVA_FLAGS=-Dhttp.proxyHost=10.0.0.100 -Dhttp.proxyPort=8800
java ${JAVA_FLAGS} <java_class_to_run>
灣如果您打算重新創建該工具 - jsoup是另一個不錯的選擇
- 1. 模擬網頁上的點擊按鈕
- 2. 點擊網頁上的Javascript按鈕
- 3. 點擊Applescript/JavaScript網頁上的按鈕
- 4. 單擊按鈕關閉網頁
- 5. Node JS單擊頁面上的按鈕
- 6. 單擊所需網頁上的按鈕的VBA代碼
- 7. 如何以編程方式單擊ASP.NET網頁上的按鈕?
- 8. 如何使用VB單擊網頁上的按鈕
- 9. 如何讓AppleScript單擊網頁上的按鈕或鏈接?
- 10. c#如何點擊網頁上的單選按鈕
- 11. 如何通過VBA單擊網頁上的按鈕?
- 12. 如何僅使用URL自動單擊網頁上的按鈕?
- 13. 使用VBA單擊網頁上的提交按鈕
- 14. 如何使用Javascript單擊網頁上的按鈕?
- 15. 上按鈕單擊
- 16. 按鈕上單擊
- 17. 如何點擊網頁上多次出現的網頁按鈕?
- 18. 單擊tableviewcell上的按鈕單擊單元格不按鈕
- 19. 如何關閉單擊按鈕上的網頁,超鏈接或鏈接按鈕單擊?
- 20. 在頁面加載啓動Bootstrap模式,上一頁的按鈕按鈕單擊
- 21. 的網頁按鈕執行PHP點擊
- 22. 如何點擊網頁中的按鈕
- 23. 上點擊單選按鈕
- 24. Odoo MissingError上按鈕單擊
- 25. 單擊上傳按鈕
- 26. 在ASP網頁按鈕單擊後Gridview分頁不工作
- 27. 單選按鈕上的單選按鈕單擊
- 28. 如何通過wp7上的c#單擊網站上的按鈕
- 29. 使用javascript按網頁上的按鈕
- 30. 單擊表單上的按鈕時打開網站
您試圖完成的更大目標是什麼?你有沒有考慮過使用無頭瀏覽器呢? – 2013-03-06 05:02:42
[Selenium]的工作(http://openwritings.net/public/selenium/first-selenium-application-java)! – 2013-03-06 05:02:50