【发布时间】:2021-06-09 09:42:36
【问题描述】:
我正在尝试从网页中抓取数据。我想获取 value 属性中存在的值(来自下面给出的 html 元素)
<input type="hidden"
name="__EVENTVALIDATION"
id="__EVENTVALIDATION"
value="abcdefghijklmnopq" />
我通过在flutter中对网页的get请求后解析html得到这个值
var document = parse(response.body);
然后
var event_element = document.getElementById('_EVENTVALIDATION');
我现在想要的是字符串形式的值 'abcdefghijklmnopq'。
到目前为止,我已经尝试过使用 html 包(没有用)。
在那之后我使用了 xpath(但这也没有成功),我已经连续 2 天进行头脑风暴。
我们将不胜感激任何形式的帮助 :)
这是我的代码示例
import 'package:html/parser.dart';
import 'package:http/http.dart' as http;
import 'package:html/parser.dart';
import 'package:html/dom.dart';
import 'package:html/dom_parsing.dart';
Future<void> fetchdata() async {
Uri url1 = Uri.parse('https://www.jhjkfw.com/login');
http.Response response = await http.get(url1);
var document = parse(response.body)
var valueofevent = document.getElementById('_EVENTVALIDATION').getAttribute('value');
print(valueofevent);
}
也是我的 pubspec.yaml
dependencies:
flutter:
sdk: flutter
http: ^0.13.0
html: ^0.15.0
我也尝试了以下方法,但它给了我一个错误:
var valueofevent = document.getElementById('_EVENTVALIDATION').getAttribute('value');
错误状态:没有为类型“元素”定义方法“getAttribute”。尝试将名称更正为现有方法的名称,或定义名为“getAttribute”的方法
【问题讨论】:
标签: html flutter dart flutter-web dart-pub