【问题标题】:Source code to text file not working using C#.net and Web browser?文本文件的源代码无法使用 C#.net 和 Web 浏览器工作?
【发布时间】:2012-12-05 16:24:21
【问题描述】:

此源代码抓取不起作用;它给出一个空白文本文件作为输出:

private void button2_Click(object sender, EventArgs e)
{
    webBrowser1.Navigate("https://www.jigsaw.com/SearchCompany.xhtml?opCode=refresh&rpage=20&order=0&orderby=0&industry=1160000&subindustry=1160300&country=9000&country=2000&cmDead=false&count=0&screenNameType=0&screenName=&omitScreenNameType=0&omitScreenName=&rowsPerPage=200&uid=13473859&tok=1354716874406-8761960955252771794");

    string MainsourceCode = webBrowser1.DocumentText;
    StreamWriter sw = new StreamWriter("G:/jigsaw_info.txt", true);
    sw.Write(MainsourceCode + "\n");
    sw.Close();
}

【问题讨论】:

    标签: c# .net web-crawler screen-scraping


    【解决方案1】:

    你开始写得太快了。您应该等待DocumentCompleted 事件。

    private void button2_Click(object sender, EventArgs e) 
    { 
        webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
        webBrowser1.Navigate("https://www.jigsaw.com/SearchCompany.xhtml?opCode=refresh&rpage=20&order=0&orderby=0&industry=1160000&subindustry=1160300&country=9000&country=2000&cmDead=false&count=0&screenNameType=0&screenName=&omitScreenNameType=0&omitScreenName=&rowsPerPage=200&uid=13473859&tok=1354716874406-8761960955252771794");
    }
    
    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
          File.WriteAllText("G:/jigsaw_info.txt",webBrowser1.DocumentText);    
    }   
    

    【讨论】:

    • 你能说得清楚点吗,你想让我把上面所有的代码都移到那些大括号里吗?抱歉,我是编码新手。请帮忙
    • private void button2_Click(object sender, EventArgs e) { webBrowser1.Navigate("URL"); string MainsourceCode = webBrowser1.DocumentText; webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted; void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { File.WriteAllText("G:/jigsaw_info.txt",webBrowser1.DocumentText); } } } }
    • @SantoshKumar 您应该在Navigate 之前附加到事件,请参阅上面的我的新代码。它有效。
    • @SantoshKumar 这就是我能做的。我给出了一个完整的工作代码。我希望你能得到更好的答案。
    【解决方案2】:

    您必须等到导航完成。导航是异步的。

    Detect WebBrowser complete page loading

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 2016-08-07
      • 1970-01-01
      相关资源
      最近更新 更多