Отправка записей на движок WikiMedia - C#
Формулировка задачи:
Всем привет!
У меня появилась необходимость переносить огромный словарь на Wiki ресурс. Немного поработав, я понял что делать это в ручную - себя не уважать и решил написать небольшую программку для автоматизации.
Немного быдлокода:
В цикле while (readit.Peek() >= 0) есть несколько строк, которые открывают страницу с необходимым названием на сайте и сохраняют контент. А в реальности цикл отрабатывает весь файл words (это видно по output.txt) но почему то открывает только страницу с последним словом и сохраняет ее. Я проверял ход кода, программа попадает на нужные строки, но тупо их игнорирует (что ли?). В общем взрыв мозга. Я первый раз работаю с классом WebBrowser, может там есть свои тонкости и т.д. Подскажите плиз. Мозг кипит.
public partial class Main : Form
{
string mainstring;
string name;
int pos;
char[] wtd = { '\'', '.', ',' };
StreamReader readit = new StreamReader("words.txt");
StreamWriter writelog = new StreamWriter("log.txt", true);
StreamWriter output = new StreamWriter("output.txt", true);
public Main()
{
InitializeComponent();
}
private void Go_Click(object sender, EventArgs e)
{
while (readit.Peek() >= 0)
{
mainstring = readit.ReadLine();
if (mainstring != "")
{
//Всякие хитрые манипуляции со строкой
webBrowser.Navigate("http://some.wiki.net/index.php?title=" + name + "&action=edit");
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
writelog.WriteLine(name + ": OK!");
output.WriteLine(mainstring);
writelog.Flush();
output.Flush();
}
}
}
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser.Document.GetElementById("wpTextbox1").SetAttribute("value", mainstring + "\n\n" + category.Text);
webBrowser.Document.GetElementById("wpSave").InvokeMember("click");
}Решение задачи: «Отправка записей на движок WikiMedia»
textual
Листинг программы
while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}