首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QWebKit -运行页面的javascript函数?

QWebKit -运行页面的javascript函数?
EN

Stack Overflow用户
提问于 2011-10-29 13:08:08
回答 1查看 417关注 0票数 1

基本上我想进入我的路由器的设置,

设置一个校验按钮,然后调用页面上的函数,

都是程序上的。

我知道所有这样做的javascript,

并且可以通过Google控制台来完成。

我可以通过QWebKit来实现它,

但实际页面仍未受到影响。

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2011-10-29 23:13:01

您可能应该等待页面完成加载,方法是将javascript计算移到连接到loadFinished()信号的一个槽中。

但是正如Pointy所建议的,您也可以尝试通过QNetworkAccessManager自己发送POST请求,而不是使用小部件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7939090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档