1

次のJavaScriptはgoogle.comで実行されます。

String js   =   "document.evaluate(\"//form[@name='f']\",
document, null, XPathResult.ANY_TYPE, null);";

フォームが見つかったら、QtにQWebElementとして戻したいと思います。例えば:

QWebElement element = (QWebElement)webView.page().mainFrame().evaluateJavaScript(js);

(QWebElementの代わりにStringオブジェクトを使用した場合、上記が機能することはわかっています。)

どんなアイデアでも大歓迎です!

4

1 に答える 1

0

これが機能しているかどうかはわかりません。何らかの理由で QWebElement を使用できません。
しかし、ここにうまくいくスニペットがあります:

String js = "document.getElementById('testID')";
Object obj = view.page().mainFrame().evaluateJavaScript(js);
QWebElement element = obj;

編集:
それでも機能しない場合は、次のコードで何が返されているかを確認してください:

String js = "document.getElementById('testID')";
String output = view.page().mainFrame().evaluateJavaScript(js);
System.out.println(output);

それがあなたを助けることを願っています。

于 2012-09-16T11:09:42.160 に答える