我希望在某些内容被某些jquery更新后,将我加载到webview中的页面的实际内容
$(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
我获得了实际内容,但标签已删除。
我想我可以走遍整棵树来获取实际的文件,但应该是一种更简单的方法。
编辑: 我的解决方案
this.web_view.load_finished.connect ((source, frame) => {
stderr.printf(this.web_view.get_dom_document().body.get_inner_html());
}
当我从现在起几年后读到这篇文章时,我可能会觉得这很糟糕但是现在我会继续这样做。
答案 0 :(得分:1)
在HTML DOM中,元素实现HTMLElement接口。 HTMLElement interface in WebKit包含outerHTML属性。此属性返回一个字符串,其中包含元素及其所有子元素的序列化标记。我不熟悉Vala,但根据您的代码片段,可以这样访问:
web_view.get_dom_document().document_element.outer_html
答案 1 :(得分:0)
Vala中的正确答案是:
webview.get_dom_document().get_body().get_inner_html ()