Bog*_*dan 3 javascript python python-3.x
我的任务是使用 Python 从任何网页获取命名函数列表。
我有一个使用 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())
Run Code Online (Sandbox Code Playgroud)
那么,Python 中有没有什么工具可以帮助自动解决问题呢?
更新:为了更清楚,我可以将任务划分为子任务列表(在 Python 中):
我已经解决了使用selenium的问题。
然后我下载了 PhantomJS 驱动程序以在没有浏览器窗口的情况下使用 selenium 并将其添加到 PATH。
最后,我使用以下 Python 脚本:
from selenium import webdriver
myscript = settings.get_js_code() # here I get content of *.js file
driver = webdriver.PhantomJS()
driver.get(url)
result = driver.execute_script(myscript)
driver.quit()
Run Code Online (Sandbox Code Playgroud)
注意:您的脚本必须返回一些内容才能获得结果。
| 归档时间: |
|
| 查看次数: |
6418 次 |
| 最近记录: |