0

シナリオは次のとおりです。QtNetwork モジュールを使用して、インターネットから html ページを取得します。

昔は、新しい QWebPage オブジェクトを作成し、setHtml()関数を使用してそれをロードし、解析 (特定のタグと属性を検索) するだけでしたが、それでは不十分に見えました。

今、私は QtScript を介してそれを行うことができると思います。入力として QByteArray を与え、ページを解析し、いくつかの要素と属性を取得しますが、javascript 構文を使用します。

つまり、昔は foreach ループを追加していましたが、今では C++ コードではなく、純粋な jsを使用して同様のことQWebElement::findFirst()を行いたいと考えています。getElementByID

それは可能ですか?もしそうなら、誰でもコードの例を挙げてもらえますか? Qt 4.8.4を実行しています

または、QWebElement スタイルの解析を回避できるものは何でも。

4

1 に答える 1

0

QTScript はECMAScriptに基づいており、シグナル/スロットなどの拡張機能があります。DOMを実装していません。

QTScript は実際に実装していECMA-262 3rd Editionます。したがって、getElementByID実際にはDOMで定義されているため、ECMAScript標準で定義されていないため、QTScriptで使用することはできません。

ただし、DOM 操作用に独自のラッパー関数を作成したりQWebElement.findFirst()、QTScript のメソッドを使用したりすることもできます。

于 2013-03-11T20:52:20.810 に答える