1
我的任務是從任何使用Python的網頁獲取命名函數的列表。從Python執行頁面上的JS代碼
我有一個使用JavaScript編寫的腳本。它做我需要的。
加載頁面後,我可以從JS控制檯運行腳本(例如,從GoogleChrome中的開發工具)。我有一系列函數名稱作爲結果。好吧,但是我進入頁面並手動從瀏覽器執行腳本。但問題是要從Python做同樣的事情。它可以看起來像這樣:
def get_named_functions_list(url):
myscript = settings.get_js_code() # here I get script that I told above
tool.open(url)
while not tool.document.READY: # here I wait while the page will completely loaded
pass
js_result = tool.execute_from_console(myscript)
return list(js_result.values())
那麼,有沒有在Python的工具,有助於自動解決問題?
UPDATE: 更清楚,我可以把任務子任務(在Python)名單:
- 請求給定的URL
- 等待的document.ready(功能... )將完成。
- 執行我的JS代碼(如在瀏覽器中)。
- 獲取JS代碼返回的結果。
你的問題還不清楚。可能是你需要報廢 –
對於這個任務,你可能需要使用[HTML解析器](http://stackoverflow.com/questions/2782097/python-is-there-a-built-in-package-to -parse-html-into-dom)和[JavaScript解析器](http://stackoverflow.com/questions/390992/javascript-parser-in-python)。 –
@ binu.py,我已經更新了主題,以便更清楚。也許它會有所幫助。至於報廢,我不需要從頁面獲取數據。關鍵任務是在瀏覽器範圍內執行JS。我認爲,它應該像一個簡單的非GUI GUI瀏覽器或類似的東西。 – Bogdan