vb.net 获取网页script中的data值
答案:2 悬赏:0 手机版
解决时间 2021-02-14 15:13
- 提问者网友:别再叽里呱啦
- 2021-02-14 06:08
网页中有个 ,里面有个变量“data”.如何用vb.net中的webbrowsers 获取出data的值?
最佳答案
- 五星知识达人网友:野慌
- 2021-02-14 07:14
<html>
<head>
<title>Test</title>
<script language="VBScript" type="text/vbscript">
<!-- '按钮事件
sub Test1_onClick()
msgbox document.getelementsbytagname("table")(0).innerText
end sub
sub Test2_onClick() '提取每单元文本
dim Text
'获取表格中的行集
set trs=document.getelementsbytagname("table")(0).getelementsbytagname("tr")
for each tr in trs '遍历每行
for each td in tr.getelementsbytagname("td") '遍历每行中的每单元
text = text & td.innerText & vbtab '每单元用制表符分隔
next
text =text & vbcrlf '换行
next
msgbox text
end sub
-->
</script>
</head>
<body>
<table cellspacing="0" cellpadding="0" class="list1">
<tbody>
<tr class="listtou">
<td width="10%">日期</td>
<td width="10%">姓名</td>
<td width="10%">备注</td>
</tr>
</tbody>
<tr>
<td width="10%">2014-01-15 10:40:52</td>
<td width="10%">张山</td>
<td width="10%">32</td>
</tr>
<tr>
<td width="10%">2014-01-16 10:40:52</td>
<td width="10%">李四</td>
<td width="10%">29</td>
</tr>
</table>
<div>
<input type="button" name="Test1" value="测试1">
<input type="button" name="Test2" value= "测试2">
</div>
</body>
</html>'主要是对htmlDocument对像的操作,我发现htmlDocument对象可以通过body.InnerHtml载入html文本也能解析,这样比webBrowser1方便,因为是同步的。
'你试试用webClient的downloadString下载网页文本,然后赋给htmlDocument对象下的body.InnerHtml。
'上面只是代码例子,只供参考。用ie打开,某些浏览器可能不支持。
<head>
<title>Test</title>
<script language="VBScript" type="text/vbscript">
<!-- '按钮事件
sub Test1_onClick()
msgbox document.getelementsbytagname("table")(0).innerText
end sub
sub Test2_onClick() '提取每单元文本
dim Text
'获取表格中的行集
set trs=document.getelementsbytagname("table")(0).getelementsbytagname("tr")
for each tr in trs '遍历每行
for each td in tr.getelementsbytagname("td") '遍历每行中的每单元
text = text & td.innerText & vbtab '每单元用制表符分隔
next
text =text & vbcrlf '换行
next
msgbox text
end sub
-->
</script>
</head>
<body>
<table cellspacing="0" cellpadding="0" class="list1">
<tbody>
<tr class="listtou">
<td width="10%">日期</td>
<td width="10%">姓名</td>
<td width="10%">备注</td>
</tr>
</tbody>
<tr>
<td width="10%">2014-01-15 10:40:52</td>
<td width="10%">张山</td>
<td width="10%">32</td>
</tr>
<tr>
<td width="10%">2014-01-16 10:40:52</td>
<td width="10%">李四</td>
<td width="10%">29</td>
</tr>
</table>
<div>
<input type="button" name="Test1" value="测试1">
<input type="button" name="Test2" value= "测试2">
</div>
</body>
</html>'主要是对htmlDocument对像的操作,我发现htmlDocument对象可以通过body.InnerHtml载入html文本也能解析,这样比webBrowser1方便,因为是同步的。
'你试试用webClient的downloadString下载网页文本,然后赋给htmlDocument对象下的body.InnerHtml。
'上面只是代码例子,只供参考。用ie打开,某些浏览器可能不支持。
全部回答
- 1楼网友:末日狂欢
- 2021-02-14 08:43
public function webcapturecontent(byval mwebsiteurl as string, byval mwebsitetype as boolean) as string
'启动一次具体的数据采集工作,返回采集到的html内容:要求必须输入带://的全地址数据
on error resume next
dim str_webcontent as string = "请输入查找网站地址."
dim wb as webclient = new webclient() '//创建一个webclient实例
if mwebsiteurl.indexof("://") > 0 then
'//获取或设置用于对向 internet 资源的请求进行身份验证的网络凭据。(可有可无)
wb.credentials = credentialcache.defaultcredentials
'//从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号)
dim pagedata as object = wb.downloaddata(mwebsiteurl)
'//转换字符
if mwebsitetype then
str_webcontent = encoding.default.getstring(pagedata)
else
str_webcontent = encoding.utf8.getstring(pagedata)
end if
end if
return str_webcontent '提取出来新闻内容,删除body前后的多余内容,同时补充上该 body标记,形成完整的内容 str_webcontent '
end function
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯