0

一部のコンテンツがjqueryによって更新された後、Webビューにロードしたページの実際のコンテンツを取得したい

$(document).ready(function() {
$("#main").append('<p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>Test</p>');
});

ページが更新された後、次のコマンドを使用してページのコンテンツを取得しようとしました[vala構文]

web_view.get_main_frame ().get_data_source().get_data().str

ただし、元のコンテンツしか取得できません(読み込みが完了していても)

を使用して

web_view.get_dom_document().document_element.text_content

実際のコンテンツを取得しましたが、タグが削除されました。

ツリー全体を歩いて実際のドキュメントを取得できると思いますが、tereの方が簡単な方法です。

編集:私の解決策

this.web_view.load_finished.connect ((source, frame) => {
 stderr.printf(this.web_view.get_dom_document().body.get_inner_html());
}

数年後にこれを読むと、おそらくこれはひどいことに気付くでしょうが、今のところはそれで行きます。

4

2 に答える 2

1

HTML DOMでは、要素はHTMLElementインターフェースを実装します。WebKitのHTMLElementインターフェースには、 outerHTMLプロパティが含まれています。このプロパティは、要素とそのすべての子のシリアル化されたマークアップを含む文字列を返します。私はValaに精通していませんが、コードスニペットに基づいて、次のようにアクセスします。

web_view.get_dom_document().document_element.outer_html
于 2013-01-19T04:20:54.517 に答える
0

ヴァラの正解はこれです:

webview.get_dom_document().get_body().get_inner_html ()
于 2013-05-31T09:47:04.040 に答える