javascript - 从c#中的网页检索ajax/JavaScript返回结果

标签 javascript c# html ajax

我正在尝试用 C# 检索网页的内容。问题在于该网页使用 Ajax 和 JavaScript 动态创建和填充 HTML 元素。

我所说的网页是:http://diseases.jensenlab.org/Entity?order=textmining,knowledge,experiments&textmining=10&knowledge=10&experiments=10&type1=9606&type2=-26&id1=ENSP00000317985

如果您使用httpWebRequest 获取网站的HTML 代码,则只有JavaScript 调用可见,而不是内容。那么如何在控制台c#程序中获取正在网页上显示的JavaScript的返回结果呢?我尝试过使用网络浏览器类,但无法让它工作。

如何在新线程中使用 Web 浏览器类在数组列表中显示动态创建的表的结果?此外,如果您不知道名称,如何访问相关的 HTML 标记?可以使用ID标签吗?这是假设 Web 浏览器类是执行此操作的最佳方法。或者有更好的办法吗?

相关的HTML代码部分是:

<div class="ajax_table" id="53c2583b1f204464d7fa9387e2ac1868"><script>blackmamba_pager('Textmining', 'type1=9606id1=ENSP00000317985type2=-26title=Text+mining',
10, 1, '53c2583b1f204464d7fa9387e2ac1868');</script></div>

请给我提供一个如何完成此操作的示例?

最佳答案

这里。然后,也取自堆栈溢出:):

WebBrowser mywebBrowser;
private void Form1_Load(object sender, EventArgs e)
{
 mywebBrowser = new WebBrowser();
 mywebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(mywebBrowser_DocumentCompleted);

 Uri address = new Uri("http://www.cnn.com/");
 mywebBrowser.Navigate(address);
}

 private void mywebBrowser_DocumentCompleted(Object sender,WebBrowserDocumentCompletedEventArgs e)
 {
  //Until this moment the page is not completely loaded
  HtmlDocument doc = mywebBrowser.Document;
  HtmlElementCollection tagCollection;
  tagCollection = doc.GetElement("53c2583b1f204464d7fa9387e2ac1868");
 }

没有像 jQuery 那样直接通过类名获取元素的方法。如果表 div 的 id 不稳定,您可以使用 GetElementsByTagName,迭代结果。然后,您可以使用 GetAttribute("classname") 来匹配您的“ajax_table”类。

关于javascript - 从c#中的网页检索ajax/JavaScript返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30007821/

相关文章:

javascript - 在 polymer dom-repeat 中显示 Firebase 数组结果

javascript - 根据另一个 Controller 的 ng-repeat 属性更新一个 Controller 中的 ng-repeat 属性?

javascript - 将阿拉伯日期值格式化为字符串 : new Date(). toLocaleDateString ('ar' ); => 'ddyyyy/m/'

c# - 将文本框文本保存到 XML 文件中

c# - 根据属性值从 XML 中删除元素?

c# - WebView2 网站未加载

javascript - 如何设置特定标签的样式

html - 仅通过 CSS 将第一个 div 移动到第二个 div 下面

JavaScript 数组返回 "a"?

python - URL 参数破坏 Flask 模板