基本上我想进入我的路由器设置,
设置一个检查按钮,然后在页面上调用一个函数,
所有这些都是以编程方式进行的。
我知道执行此操作的所有 javascript,
并且可以通过 Google Chrome 控制台执行此操作。
我可以通过 QWebKit 在语法上执行它,
但实际页面不受影响。
import sys
from PyQt4 import QtCore, QtGui, QtWebKit
class Browser(QtWebKit.QWebView):
def __init__(self, parent = None):
super(Browser, self).__init__()
self.changepage()
def changepage(self):
self.load(QtCore.QUrl("http://192.168.0.1/adv_mac_filter.php"))
x1 = self.page().mainFrame()
x1.evaluateJavaScript("entry_enable_1.checked = true;")
x1.evaluateJavaScript("check();")
app = QtGui.QApplication(sys.argv)
x = Browser()
x.show()
sys.exit(app.exec_())
(是的,此代码要求我已经登录到我的路由器设置)
我知道 JavaScript 正在运行,因为我可以使用警报对其进行测试。
但是,路由器的 html“checked()”函数或复选框不会运行/更改。
就像我实际上并没有与页面交互,而是与副本交互。
我在这里犯了一个严重的新手错误吗?
规格:
python 2.7
PyQt4
QWebKit
Windows 7