【发布时间】:2016-06-08 13:13:05
【问题描述】:
我正在创建一个程序,它将搜索页面 HTML 源代码并返回是否存在指定的字符串,尽管它总是返回 false,如果我遗漏了什么,有人可以看看吗?
Private Const QUOTE As Char = """"c
Private Sub ServerStatus_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'download the page source and store it here
Dim sourceString As String = New System.Net.WebClient().DownloadString("https://support.rockstargames.com/hc/en-us/articles/200426246")
'call the source and validate a string exists, if not
If (sourceString).Contains($"<div class={QUOTE}panel-base xbl{QUOTE} style={QUOTE}background-color: RGB(236, 255, 236);{QUOTE}><div class={QUOTE}marshmallowLogo{QUOTE} id={QUOTE}xboxLogo{QUOTE}>Xbox 360</div><center><span class={QUOTE}statusSpan{QUOTE} style={QUOTE}color green;{QUOTE}>Up</span></center>") = True Then
Label1.Text = "It's there"
' if it does
ElseIf (sourceString).Contains($"<div class={QUOTE}panel-base xbl{QUOTE} style={QUOTE}background-color: RGB(236, 255, 236);{QUOTE}><div class={QUOTE}marshmallowLogo{QUOTE} id={QUOTE}xboxLogo{QUOTE}>Xbox 360</div><center><span class={QUOTE}statusSpan{QUOTE} style={QUOTE}color green;{QUOTE}>Up</span></center>") = False Then
Label1.Text = "It's not"
End If
End Sub
结束类
【问题讨论】:
-
那个 html 在那个页面上不存在,所以它看起来对我来说工作正常
-
请注意,您不需要
elseif,只需else即可获得相同的结果 -
我在 chrome 上使用了检查元素,这就是我得到它的方式,所以我不确定发生了什么。
-
试试右键-查看源码
-
您要查找的
div是由页面中的Javascript 动态创建的。 AFAIK 你不能使用WebClient来执行脚本,所以这个方法不起作用。