【问题标题】:Is it possible to get element from webpage?是否可以从网页中获取元素?
【发布时间】:2017-01-27 21:21:04
【问题描述】:

在我的程序中,我正在使用 webbrowser (C#),并且我想将当前页面中的所有元素转换为文本。谁能帮帮我?

代码:

HtmlElement htmlelement = webBrowser1.Document.GetElementById("html");
if (htmlelement == null)
{
}
else
{
    richTextBox1.Text = webBrowser1.Document.GetElementById("html").OuterText;
} 

附言。 OuterHtml 可以用在这上面吗?

【问题讨论】:

  • 请包含到目前为止的代码。
  • 我现在没有代码,因为我一无所知。但在 Webbrowser 中,它的名称为 webBrowser1,我想要当前网页中的所有元素。 (就像你在网站上按F12看到它。是调用inspector吗?)然后我想让它们显示在richTextBox1中就可以了~~
  • 有代码后回到问题。就目前而言,这个问题太宽泛了,对 SO 来说答案太长了。
  • @techydesigner 在我离开 Idea 之前,我正在使用这个 HtmlElement htmlelement = webBrowser1.Document.GetElementById("html"); if (htmlelement == null) { } else { richTextBox1.Text = webBrowser1.Document.GetElementById("html").OuterText; } 但没什么。
  • 请在答案中加入额外信息。

标签: c# webbrowser-control


【解决方案1】:

您可以使用HTML Agility Pack

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://www.example.com/");
HtmlNodeCollection tags = doc.DocumentNode.SelectNodes("//tag1//tag2");

【讨论】:

【解决方案2】:

在 Java 中,我使用以下代码,一些重新格式化应该获取 C# 代码。

List<WebElement> webPageElements = driver.findElementsByTagName(webHTMLTagName);
// Loop Over All WebPage Elements with same Tag Type
for (WebElement webElement : webPageElements) {
        System.out.println(webElement.getAttribute("type"));
        System.out.println(webElement.getAttribute("name"));
        System.out.println(webElement.getAttribute("id"));
}

webHTMLTagName 可以是您的 html 标签。(例如,“input”)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 2011-07-11
    • 2019-06-03
    • 2020-06-02
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多