我有一个网页,每当我离开页面时,就会出现一个对话框,询问我是否"真的想离开页面",并带有"离开"或"停留"选项。此框由javascript创建。
我目前正在使用Spynner for Python作为本页的浏览器工具。Spynner有能力注入Javascript。这是我想到的,但似乎没有用Python完成任务。
browser.runjs("""window.alert = function() {};""")
我也尝试过这样的替代方案,我在以前的脚本中使用过这些方案来注入页面,但在使用时遇到了语法错误,我似乎无法指出。
注入确实有效的脚本:
browser.runjs("""jQuery(document.elementFromPoint(204,51)).click();""",debug=True)
注入不起作用但需要开始工作的脚本:
browser.runjs("""jQuery(window.alert = function()) {};""")
非常感谢您的帮助,谢谢!
编辑:试着尝试一下。也没用。我有点迷路了。
运行此:
browser.runjs("""window.alert = function();""")
控制台说:
Run Javascript code: window.alert = function();
Javascript console (undefined:1): SyntaxError: Parse error
最终解决了以下问题。
def confirmcallback(url, message):
return True
browser.set_javascript_confirm_callback(confirmcallback)
def cancel_answer(url, message, defaultvalue):
return
browser.set_javascript_prompt_callback(cancel_answer)
对于该代码,您不需要
jQuery(...)
只需添加
window.alert = function(){};