我从网站上获取网址时遇到问题:
的 https://searchbzp.uzp.gov.pl/Search.aspx
在这个网站上有一张桌子
文本'Zobacz'是一个超链接,从这个地方我想得到URL。
我可以使用下面的代码点击此网址,然后浏览器尝试打开新标签:
IE.Document.getelementbyID("ctl00_ContentPlaceHolder1_ASPxGridView1_DXCBtn0").Click
但我想只获取此网址(无需打开新标签)。 我试图这样的事情,但它不起作用:
Dim a
a = IE.Document.parentWindow.ExecScript("javascript:ctl00_ContentPlaceHolder1_ASPxGridView1_DXCBtn0", "JavaScript")
MsgBox a
a = IE.Document.parentWindow.ExecScript(IE.Document.getElementById("ctl00_ContentPlaceHolder1_ASPxGridView1_DXCBtn0").href, "JavaScript")
MsgBox a
有人可以帮我吗?
答案 0 :(得分:0)
昨天查看我对类似问题的回答:http://stackoverflow.com/a/47593832/8112776
如果你只需要获得一个值,它总是位于同一个地方,那么就不需要IE对象了。
下面:
Function GetHTML(url As String) As String
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", url, False
.Send
GetHTML = .ResponseText
End With
End Function
Sub getData()
Const url = "https://searchbzp.uzp.gov.pl/Search.aspx"
Const strStart = "ctl00_ContentPlaceHolder1_ASPxGridView1_DXCBtn0""><span>"
Const strStop = "</span>"
Dim html As String, pStart As Long, pStop As Long
html = GetHTML(url)
pStart = InStr(1, html, strStart) + Len(strStart)
pStop = InStr(pStart, html, strStop)
MsgBox Mid(html, pStart, pStop - pStart)
End Sub