我尝试使用HTMLAgility包从http://www.raws.dri.edu/wraws/orF.html
中提取所有包含在左框架中的电台名称。
我的Xpath字符串当前是//frame[@name='list']
,此时它返回节点,但我似乎无法访问它的任何子节点。最终,我试图返回frameset[1]/html/body/[@a]
中看起来像这样的所有属性:
<a onmouseover="popup('<font color=Black><strong> IDARNG1 RG2 Idaho (RAWS) </strong> </font> ',615,307);update('IDARNG1 RG2 Idaho (RAWS)',615,307,'idIAN1','raw');return true;" onmouseout="removeBox();removedot();" href="/cgi-bin/rawMAIN.pl?idIAN1">`
答案 0 :(得分:2)
以下是浏览器目前正在做的事情:
http://www.raws.dri.edu/wraws/orF.html
<iframe>
执行另一个请求。这意味着您需要手动打开<iframe>
指向的网址,该网址可以在src
属性中找到。以下是一个例子:
string src = doc.DocumentNode.SelectSingleNode("//frame[@name='list']").GetAttribute("src", "");
string url = "http://www.raws.dri.edu/wraws/" + src;
您正在寻找的网址是:
http://www.raws.dri.edu/wraws/orlst.html
手动打开它,您将看到只有左侧边栏已加载。
下次确保使用像Firebug或Fiddler这样的HTTP Web调试器,看看幕后发生了什么。