基本的に私はルータの設定に行きたいと思っています。
はチェックボタンを設定し、ページ上の機能を呼び出すのは
です。QWebKit - ページのjavascript機能を実行しますか?
これを行うためのすべての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
ページに、サーバ(つまりルータ)にPOSTバックする必要があるフォームまたは何かがありますか。あらゆる種類のブラウザは、常にWebページのローカルコピーを扱っているので、フォームポストかAJAXメソッドのどちらかをHTTP経由でサーバに返す必要があります。おそらく、 – Pointy
私はこれのようなものを疑ったが、それをどうやって行うのか分からなかった! Chrome搭載のコンソールで簡単に見えるようになりました。 –
それはページの仕組みによってまったく異なります。 「保存」などのように、ルータを直接使用しているときにクリックする必要があるボタンはありますか?その要素をPythonからクリックすると、それが正しいことになるかもしれません。 – Pointy