c# - 通过 C# Web 浏览器抓取网站以获取元素名称和 ID

标签 c# html

我正在尝试抓取 a website得到Textarea信息。

我正在使用:

HtmlDocument doc = this.webBrowser1.Document;

当我查看 View 源时,它显示 <textarea name="message" class="profile">

但是当我尝试访问这个文本区域时:

 HtmlDocument doc = this.webBrowser1.Document;

 doc.GetElementsByTagName("textarea")
      .GetElementsByName("message")[0]
      .SetAttribute("value", "Hello");

显示错误:

 Value of '0' is not valid for 'index'. 'index' should be between 0 and -1.
Parameter name: index

有什么帮助吗?

最佳答案

对于您当前的需要,您可以简单地使用它:

doc.GetElementsByTagName("textarea")[0].InnerText = "Hello";

对于复杂的事情,您可以将 HtmlDocument 类与 MSHTML 类一起使用。

关于c# - 通过 C# Web 浏览器抓取网站以获取元素名称和 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222296/

相关文章:

javascript - 使用 JQuery 粘贴事件后将焦点更改为下一个输入

javascript - 无法将值从 JQuery 日期范围选择器传输到输入字段

c# - 如何屏蔽特定请求的敏感数据 (NLog)

c# - 刷新 EntityFramework 连接

c# - 如何在 Entity Framework LINQ To Entities 中实现 Union all?

c# - 如何在不装箱的情况下检索枚举的哈希码?

php - 将数据库中的数据显示为选择中的选项

javascript - 为什么当我将表单发布到 URL 时会收到 404 错误,而使用 window.location 去那里则不会收到 404 错误?

c# - 问一下c#反序列化

javascript - 在 Django View 中将 markdown 从文件传递到模板