html - 使用VB.NET将网页表行中的值提取为字符串
问题描述
我应该先让你知道我不是编码员。我只是一个懂一点VB.NET,喜欢效率的人。
我正在使用 WebBrowser1.Document.Body.InnerHtml 来获取 webbrowser 元素中网页的源代码,源代码内部是这个 Table Row
<tr>
<td width="60px">
11/04/18 </td>
<td width="80px">
John Smith </td>
<td>
CHARGED_ONBOARDING_FEE - Admin manual charged </td>
</tr>
我可以很容易地检查 CHARGED_ONBOARDING_FEE 是否出现在页面中:
i = WebBrowser1.Document.Body.InnerHtml
If i.Contains("CHARGED_ONBOARDING_FEE") Then
RichTextBox1.AppendText("OB PAID" & vbNewLine)
Else
RichTextBox1.AppendText("NO FEE" & vbNewLine)
End If
但是,无论如何我可以提取那个日期(11/04/18)吗?
是否有可能有这个工作流程或类似的东西?
1. if exists CHARGED_ONBOARDING_FEE proceed
2. Check backward in string for <td width="60px"> if exists proceed
3. date1 = string between "60px"> and </td>
4. RichTextBox1.AppendText("OB PAID" & " on " & date1 & vbNewLine)
感谢您的任何帮助,请放轻松!
解决方案
基于几米的想法:</p>
Dim date1 as string
Dim textExistOrNot as Boolean = false
'get collection of all tr in the webpage
For Each trSect As HtmlElement In WebBrowser1.Document.GetElementsByTagName("tr")
If trSect.innerText Is Nothing Then
Else
'get the tr which has the text "CHARGED_ONBOARDING_FEE" inside it (including its children)
If trSect.innerText.Contains("CHARGED_ONBOARDING_FEE") then
'the first child is <td width="60px"> 11/04/18 </td>, it is item(0)
'the second child is <td width="80px"> John Smith </td>, it is item(1)
'the third child is <td> CHARGED_ONBOARDING_FEE - Admin manual charged </td>, it is item(2)
date1 = trSect.Children.item(0).innerText
RichTextBox1.AppendText("OB PAID" & " on " & date1 & vbNewLine)
textExistOrNot = true
End if
End if
Next
If textExistOrNot is false then
RichTextBox1.AppendText("NO FEE" & vbNewLine)
End if
希望这些代码可以解决您的问题。
推荐阅读
- mysql - 生成一个自动生成的 6 位数字
- intellij-idea - JavaFX 无法构建工件 - fx:deploy 在此 JDK 中不可用
- uwp - CommandBarFlyout 和 OverlayInputPassThroughElement
- ios - 如何在 iOS 上使用 Sign In with Google 修复“用户取消了登录流程。”?
- autohotkey - 无法使用 WinHttpRequest 在 URL 中加载带有磅的网站
- c++ - 过滤与 AddVectoredExceptionHandler 一起使用的严重/致命异常
- java - 本地主机上的服务器 Tomcat v9.0 服务器无法启动。| 子容器在启动期间失败
- python - For 循环根据指定值排除某些 DataFrame 行
- javascript - 如何找到合适的朋友?
- c# - 从 Web 服务器创建和运行 Windows 计划任务,但应使用 Win Auth 连接到 SQL