當我將鼠標懸停在網頁的圖片上時,它會在狀態欄javascript:main.somefunction("arg1","arg2","arg3")
中顯示JavaScript功能。是否有可能在網頁上下文中運行該功能並使用PhantomJS呈現結果?我可以在PhantomJS中運行網頁的JavaScript功能嗎?
2
A
回答
0
如果你有一個元素如
<a href='javascript:main.somefunction("arg1","arg2","arg3")'>
<img src='someImage.jpg'>
</a>
,那麼你應該看到在狀態欄中的鏈接的URI。由於頁面必須知道main
對象才能調用該對象,因此main
必須是全局範圍內的對象(在window
對象上)。您可以在頁面上下文中撥打main.somefunction("arg1","arg2","arg3")
或window.main.somefunction("arg1","arg2","arg3")
。
如果函數異步更改頁面,則必須等待更改。靜態延遲可以用setTimeout()
完成。如果您需要等待特定條件,則可以使用waitFor()
function from the examples directory。
page.open(url, function(status){
if (status === "fail") {
console.log("Load failed");
phantom.exit(1);
return;
}
page.evaluate(function(){
main.somefunction("arg1","arg2","arg3")
});
setTimeout(function(){
page.render("screenshot.png");
phantom.exit();
}, 3000); // 3 seconds delay
});
+1
現在我得到一個錯誤TypeError:undefined不是一個函數(評估'main.somefunction(「arg1」,「arg2」,「arg3」)') – user5704481
相關問題
- 1. 可以在webkit瀏覽器的Android網頁上運行Javascript功能嗎?
- 2. 我可以檢索在間隔中運行的功能嗎?
- 3. 我可以在PhantomJS之外運行Durandal的測試框架嗎?
- 4. 我可以使用Node.js中的所有Javascript功能/功能嗎
- 5. 我可以調用正在運行的Windows服務功能嗎?
- 6. 我的功能未在JavaScript中運行
- 7. Firebug可以運行我的網站嗎?
- 8. 我可以在整個頁面加載之前運行JavaScript嗎?
- 9. 如何在網頁中運行外部JavaScript功能?
- 10. Indy可以運行Javascript嗎?
- 11. 我可以在iPhone上運行JavaScript運行時(如v8)嗎?
- 12. 我可以在JQueryTemplate中運行一行JavaScript嗎?
- 13. 我可以在Heroku中運行coffeescript嗎?
- 14. 我可以在運行時處理我的佈局頁面嗎?
- 15. 運行在網頁上的Javascript可以連接到遠程服務器嗎?
- 16. 我可以在HTML文檔中運行Nodejs JavaScript腳本嗎?
- 17. 我可以在(加載的)頁面上運行自己的JavaScript嗎?
- 18. 運行沒有UIWebView的JavaScript可能嗎?
- 19. 我可以跳出當前正在執行的功能嗎?
- 20. 社交網絡可以在索引時運行JavaScript嗎?
- 21. 你可以在HTML網頁上運行python程序嗎?
- 22. 我可以直接從HTML頁面中運行的JavaScript訪問Google Calendar API *嗎?
- 23. 我可以在使用PHP的外國網頁上執行JavaScript嗎?
- 24. javascript運行後我的網頁刷新
- 25. Winform可以使用backgroundworker並行運行功能嗎?
- 26. 如何打開網頁並運行一些JavaScript功能?
- 27. 我可以從JavaScript的網頁生成
- 28. 我可以在VPS上運行Matlab嗎?
- 29. UIWebView:我可以禁用任何網頁內的javascript alert()嗎?
- 30. 在破損的網站上運行phantomjs
您使用哪個PhantomJS版本?請註冊onConsoleMessage,onError,onResourceError,onResourceTimeout事件([Example](https://gist.github.com/artjomb/4cf43d16ce50d8674fdf#file-1_phantomerrors-js))。也許有錯誤。 –