我有一个控制台应用程序,我用它从网站下载HTML并将此HTML
与blob
中的另一个进行比较。为此,我使用WebBrowser
中的Windows Forms
组件。当我在我的机器上运行应用程序时,一切正常,但是当我将控制台应用程序迁移到其他计算机上运行时,运行时下载的HTML
不同一些方面。例如:
在我HTML
上的基数blob
中,element
是这样的:
<FORM><INPUT id=ni value=Test type=hidden name=ni>
如果我在我的机器上运行,HTML
元素在浏览器下载的文档中是等效的,但在另一台机器中,元素是这样的:
<FORM><INPUT id=ni type=hidden value=Test name=ni>
正如您所看到的,属性的顺序不同。这对我来说不是一个相关的改变,但我想知道为什么会发生这种情况,如果它是在两台机器上运行的相同程序?
代码:
private void OnDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var html = _browser.Document.Body.InnerHtml;
//This is getting different.
}
答案 0 :(得分:1)
.Net中的WebBrowser使用计算机上安装的IE版本。可能是您获得的页面因浏览器的用户代理而异。只需在两台机器上打开IE浏览器并查看页面来源,确认不是导致差异的代码。