0

我有一个文本文件中的 URL 列表,我想使用 C# webBrowser 类访问它并将每个网站的内容保存到某个地方。问题是,程序并不总是访问新的 URL。

链接 1 和 2 被正确访问,然后浏览器窗口不会在链接 3 上刷新。链接 4 再次工作,而 5、6 和 7 失败。链接 8 工作,9 到 15 失败。16个作品等等……

以下是 URL 的示例列表:

http://www.example.com/somefile_7.html*SomeOtherText1*SomeAdditionalText1

http://www.example.com/somefile_12.html*SomeOtherText1*SomeAdditionalText2

static int counter_getURL = 0;

private void Form1_Load(object sender, EventArgs e)
{
    nextTurn();
}

void startBrowser(string url)
{
    webBrowser1.Navigate(new Uri(url), "_self");
    webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(get_browser_string);
}

void get_browser_string(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // Display the content of the website in textBox1
    textBox1.Text = webBrowser1.Document.Body.InnerText;
    MessageBox.Show("Next");
    nextTurn();
}

public void nextTurn()
{
    startBrowser(getURL());
}

public string getURL()
{
    string url = "";
    string[] input = System.IO.File.ReadAllLines(@"C:\Users\WORKSTATION01\Desktop\url_list.txt", Encoding.Default);
    // Get the URL only
    string[] splitted = input[counter_getURL].Split(new char[] { '*' });
    url = splitted[0];
    counter_getURL++;
    return url;
} 
4

1 回答 1

1

DocumentCompleted 也会为网页内的 FRAME 触发。我的猜测是您的 URL 的某些网页有 FRAME,这会干扰您的代码。

于 2013-08-21T20:34:32.773 回答