我试图找到一种方法,使用我在Visual Studio 2010中创建的基于Visual Basic的应用程序从HTML源中提取信息。我想要做的是让系统加载网页(在后台基于订单号)并搜索分配给HTML标记的值并返回该值。例如,在下面的href字符串中:
HREF ="#"类=" lnk11blue" onClick =" parent.gotoPage(' /oe/cllctrshp_.html?dlvyId = 26130700& hdrId = 7205902& lineId = 21188936& ordLnTyp = FEL SVC LINE' dWnd' )"> 26130700
我希望该工具在" dlvyId ="之后返回26130700。或者在href结束时。我遇到的问题是dlvyId随每个订单的变化,可能是hdrId和lineId值,所以有没有办法让我的程序在" dlvyId ="之后读取值。它找到这个字符串后?或者有没有办法让程序在找到字符串后读取大于克拉的文本?
我会四处乱逛,看看我能找到什么(并希望发布一些尝试的代码),但同时我们将非常感谢任何想法/帮助。
编辑:感谢史蒂夫,我已经有了搜索字符串的功能。但是,现在我在加载页面源时遇到问题。我在下面尝试了这段代码,但它似乎不起作用:
Dim objHttp as object
Dim strURL As String
Dim strText As String
objHttp = CreateObject("MSXML2.ServerXMLHTTP")
strURL = "http://companywebprd.tc.company.com/oe/cllctrord_.html?order_nbr=" &
RMA_Number.Text & "&customer_id=&po_nbr=&ord_date=&ord_cond=0&ord_kind=0&serial_nbr=&item_id=
&i_ord_type=&instance=&svcChk=1&custSiteUseId=0&custSiteUseCd=0"
objHttp.Open("GET", strURL, False)
objHttp.Send("")
strText = objHttp.responsetext
么?我也一直在四处寻找
答案 0 :(得分:1)
这应该让你开始走正确的道路......
Sub test()
Const mystring = "href='#' class='lnk11blue' onClick='parent.gotoPage('/oe/cllctrshp_.html?dlvyId=26130700&hdrId=7205902&lineId=21188936&ordLnTyp=FEL SVC LINE','dWnd')'>26130700'"
If InStr(1, mystring, "dlvyId=") <> 0 Then
For i = InStr(1, mystring, "dlvyId=") To Len(mystring)
If Mid(mystring, i, 1) = "&" Then
Exit For
End If
Next i
MsgBox Mid(mystring, InStr(1, mystring, "dlvyId="), (i - InStr(1, mystring, "dlvyId=")))
End If
End Sub