0
    Dim urlString As String
    Dim posn As Integer

    urlString = WebBrowser1.Url.ToString
    If urlString = "https://bookscan.cojc.org/bookscan/scan/trackingForm?read" Then ... works

但是当我尝试查找“read&tn=”并且我知道完整的 URL 是 ** https://bookscan.cojc.org/bookscan/scan/trackingForm?read&tn=409359

    posn = InStr("read&tn=", urlString, CompareMethod.Text)
    If posn > 0 Then .... is never true
4

2 回答 2

3

如您所知,您的参数InStr顺序错误。不使用旧的 VB6InStr并更新到 .netIndexOf方法怎么样。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim s = "https://bookscan.cojc.org/bookscan/scan/trackingForm?read&tn=409359"
    Dim i = s.IndexOf("read&tn=")
    MessageBox.Show(i.ToString)
End Sub
于 2021-08-17T02:18:13.933 回答
3

如果您希望从中解释您的 url/pull 位并根据其内容做出决定,您最好解析它

Dim qs = HttpUtility.ParseQueryString(new Uri(urlString).Query)

qs将是一个带有 url 中键/值对的 NameValueCollection。如果某个键出现两次,则该值将变为 CSV 字符串

Dim tn = qs("tn")

对于您的网址,您的tn变量现在包含"409359"

于 2021-08-17T09:19:28.987 回答