不包含文本条件 - Visual Basic

时间:2018-02-13 11:40:03

标签: string vb.net

我在Visual Basic中进行简单的Web爬网。我在尝试运行以下代码时收到以下错误代码;

var buttons = document.getElementsByTagName("button"); //returns a nodelist
for (var i = 0; i < buttons.length; i++) {
   buttons[i].addEventListener("click", function(event) {
     buttonsControl(event.target);
   }, false);
}

function buttonsControl(button) {
 alert(button.innerHTML);
}

错误是;

  

未处理的类型&#39; System.InvalidCastException&#39;发生在Microsoft.VisualBasic.dll

     

其他信息:从字符串&#34;英国转换为派遣军舰   南钦&#34;输入&#39;整数&#39;无效。

问题围绕 omitText.Substring [...] 开始(没有这部分代码可以使用,但提供了我不需要的数据)。

我不确定为什么它会识别整数,因为它是我搜索的子字符串中的子字符串?

作为一个FYI,其中使用的以下代码/变量是;

headingStart;

Do While headingStart <> -1 And _
testText.Substring(testText.Substring(headingStart + 35), 34) <> _
"<span class=^media-prefix voices^>"

航向;

Dim headingStart As Integer = Source.IndexOf(heading)

testText;

这只包含从网站下载的所有HTML / XML,然后将其抓取。

注意: headingStart + 35在标题

中的代码后启动索引

注意:左侧功能中的34是我试图省略的文本的长度()

我仍然是VB的学习者,所以我的错误可能是常规的,但是我在这一点上难以接受!

谢谢, 休

1 个答案:

答案 0 :(得分:0)

Substring - 方法接受一个或两个参数,都是整数。

    1. startIndex
    1. length


但是这会返回一个字符串:

testText.Substring(headingStart + 35)

所以你的代码应该如下所示:

testText.Substring(headingStart + 35).Substring(0,34) <> "<span class..."

但你可以用一个Substring - 呼叫:

来完成
testText.Substring(headingStart + 35, 34) <> "<span class..."