如何从dart中的属性名称中获取属性值(从dart的html属性中获取_EVENTVIDATION)



我正试图从网页中抓取数据。我想得到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(但也没有成功(,我已经连续两天集思广益了。

任何形式的帮助都将不胜感激:(

这是我的代码示例

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');

错误状态:未为类型"Element"定义方法"getAttribute"。尝试将名称更正为现有方法的名称,或定义名为"getAttribute"的方法

我使用以下代码进行了另一种方法:

var valueofevent = document.getElementById('_EVENTVALIDATION').attributes['value'];

这对我来说非常适用!

你说你试过了,但没有成功。但不是你尝试了什么。这应该工作。如果没有,你需要更具体地说明到底是什么不起作用:

var value = event_element.getAttribute('value'); 

相关内容

  • 没有找到相关文章

最新更新