我一直在阅读Xpath并尝试使用Agility Pack找到我,但这让我很难过。
HTML代码段:
<table class="full_width list" cellspacing="0" cellpadding="0">
<tbody><tr>
<td class="w10">
<a href="add_to_slip_wap.t?marketId=28911263.2&outcomeId=159043327.2&numerator=8&denominator=1&handicap=&priceType=EP&ts=1435050302005">
2
</a>
</td>
</tr>
这包含在其他一些标签中,但这是一个非常大的垃圾邮件发布整个事情,我不知道需要多少。我无法嵌入图片,但我有一个显示所有标签的Chromes Developer Tools屏幕:http://imgur.com/ri5XsJO
这个表重复了一遍,我试图循环找到w10类的内容。我尝试了很多不同的变化,但对我来说有意义的(但显然不起作用)是:
For Each node As HtmlNode In document.DocumentNode.SelectNodes("//div/table/tbody/tr/td[@class='w10']")
MsgBox(node.InnerText)
Next
返回System.NullReferenceException。具体来说,我正在寻找锚文本(在这种情况下为2),但是[@ class ='w10'] // a的变化似乎没有起作用,所以我认为我认为在此之前出错了我是对的
我查看了代码并按照它来查找该类,并希望它会如此简单。显然不是。我假设我不需要在// html或者其他地方一直在顶部开始但是试图直接// [@ class ='w10']也不起作用。
如果有人能指出我正确的方向,我会很感激。我找到的很多示例代码都是单个节点,它们通常位于// div [@ class ='classname']中。一旦它开始被埋在标签中,我就失去了找到它的能力。
/编辑:
我遗漏的很明显的事情是xmlns说xhtml,这意味着现在所有东西都在不同的命名空间中。如果我弄清楚我在做什么,我会更新以防万一有人在将来寻找同样的东西。