【问题标题】:webkit : how to get the actual content of a page after content was added via javascript?webkit:通过javascript添加内容后如何获取页面的实际内容?
【发布时间】:2013-05-31 17:47:04
【问题描述】:

在某些内容被某些 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 syntax] 获取页面内容

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());
}

几年后当我读到这篇文章时,我可能会觉得这很糟糕,但现在我会继续这样做。

【问题讨论】:

    标签: webkit vala


    【解决方案1】:

    在 HTML DOM 中,元素实现 HTMLElement 接口。 HTMLElement interface in WebKit 包括 outerHTML 属性。此属性返回一个字符串,其中包含元素及其所有子元素的序列化标记。我对 Vala 不熟悉,但根据您的代码 sn-ps,可以这样访问:

    web_view.get_dom_document().document_element.outer_html
    

    【讨论】:

    【解决方案2】:

    Vala 中的正确答案是这样的:

    webview.get_dom_document().get_body().get_inner_html ()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多