2

我正在尝试从此网页获取事件的标题并将它们放入列表中:

在此处输入图像描述

由于使用 HTTP 没有得到完全生成的 html,我决定尝试使用flutter_webview_plugin

  1. 在隐藏的 webview 上加载所需的 URL
  2. 提取完全生成的 HTML
  3. 解析 HTML 以获得我需要的标题

我正在使用此代码加载 webview:

flutterWebviewPlugin.launch(
    "https://www.volunteermatch.org/search/?l=Long%20Grove,%20IL%2060047,%20USA",
    hidden: true);
flutterWebviewPlugin.onStateChanged.listen((viewState) async {
  if (viewState.type == WebViewState.finishLoad) {
    flutterWebviewPlugin
        .evalJavascript("document.documentElement.outerHTML")
        .then((html) {
      print(html);
      //some code to parse html
      flutterWebviewPlugin.close();
    });
  }
});

问题是,即使在 webview 完成加载后使用 JavaScript 代码检索 HTML也不会给我在 Safari 上的“检查元素”会给出的相同 HTML,而且其中也没有任何标题。我错过了什么?

4

1 回答 1

0

嗯,现在我觉得很傻。

由于我在 iPhone 上运行该应用程序,因此我使用 Xcode 检查print(html). 出于某种原因,Xcode 不会打印出所有的html字符串:在此处输入图像描述

Xcode 只留下一个<...>(右下角用红色圈出)并决定不打印其余部分。

于 2020-07-29T17:47:34.960 回答