【发布时间】:2015-08-11 02:20:13
【问题描述】:
我正在使用 Qt4 自动化一些浏览器测试。由于我需要检查一些 JavaScript DOM 元素,我不能只将源页面作为文本提取,因为需要将 JS 加载到浏览器中以便可以搜索对象。
问题是,如果 HTML 中有警报,它会弹出并阻止我的脚本自动继续。我已经包含了一个示例 python 脚本来演示这个问题(虽然不是我的应用程序的搜索部分)。浏览器对象甚至不需要显示页面以在“页面加载”时执行 JS 警报。有什么方法可以防止这种情况或使用 Qt4 的建议解决方法?
#!/usr/bin/python
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *
html = """
<html>
<frameset cols="1%,99%">
<frame name="frame1" id="frame1" src="">
<frame name='frame2' id='frame2' src='javascript:var testVar="Prevent Me!"; alert(testVar);'>
</frameset>
</html>
"""
app = QApplication(sys.argv)
browser = QWebView()
browser.setHtml(html)
browser.close()
【问题讨论】:
标签: javascript python qt4