【发布时间】:2020-11-16 09:21:37
【问题描述】:
我正在尝试从this webpage 获取事件的标题并将它们放入列表中:
Since using HTTP did not get the fully generated html,我决定尝试使用flutter_webview_plugin:
- 在隐藏的 web 视图上加载所需的 URL
- 提取完全生成的 HTML
- 解析 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,而且没有标题也在其中。我错过了什么?
【问题讨论】:
-
看起来您正在抓取网页。请查看下面的帖子itnext.io/write-your-first-web-scraper-in-dart-243c7bb4d05
-
@NileshSenta 感谢您的回复,我会查看链接。
标签: javascript html flutter dart flutterwebviewplugin