Hallo Leute,
und zwar möchte ich eine spezielle Seite mit C# bedienen. Dazu hab ich ne Windows Form angelegt, mit Textfeldern und nem Button. Ich hab mich im Internet schlau gemacht, und paar Snippets gefunden die ich dann passend umgeschrieben habe. Folgender Code bewirkt beim Button-Click (button1) dass die Seite geladen wird, und Button2 bewirkt dass man sich automatisch in die Seite einloggt (also Username, Passwort werden eingetragen, und dann wird automatisch auf "login" geklickt).
nun ist es aber so, dass nach dem login wieder auf einen button geklickt werden soll, Automatisch natürlich. Nachdem dann dieser Button (auf der Homepage) geklickt wurde, sollten Textformen ausgefüllt werden und wieder ein Button geklickt werden (auf der Homepage). Und so geht es weiter. Alles automatisch. Wenn ich aber jetzt folgenden code
einfach Anhänge beim Button2-Code, dann bekomm ich ne Fehlermeldung. Ist auch klar, da ja der login noch nicht vollzogen ist, sprich die Seite noch nicht fertig geladen ist. Wie kann ich also warten bis die Seite nach dem login fertig geladen ist, damit ich dann weitere Aktionen ausführen lassen kann? Ich hab was gelesen vom Website.Completed Event, allerdings ist mir nicht ganz schlüssig wie ich dieses Event in den Button2-Code einbinde. Ich hoffe ihr versteht was ich meine?!
Vielen Dank.
und zwar möchte ich eine spezielle Seite mit C# bedienen. Dazu hab ich ne Windows Form angelegt, mit Textfeldern und nem Button. Ich hab mich im Internet schlau gemacht, und paar Snippets gefunden die ich dann passend umgeschrieben habe. Folgender Code bewirkt beim Button-Click (button1) dass die Seite geladen wird, und Button2 bewirkt dass man sich automatisch in die Seite einloggt (also Username, Passwort werden eingetragen, und dann wird automatisch auf "login" geklickt).
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Automator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("http://www2.dasservice.at/");
webBrowser1.Refresh();
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url == webBrowser1.Url)
{
}
}
private void button2_Click(object sender, EventArgs e)
{
webBrowser1.Document.All["TEXTBOX_Benutzer"].SetAttribute("value", "USERNAME");
webBrowser1.Document.All["TEXTBOX_Kennwort"].SetAttribute("value", "PASSWORT");
webBrowser1.Document.GetElementById("IMAGEBUTTON_Login").InvokeMember("click");
}
private void button3_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("BUTTON_ReparaturAnlegen").InvokeMember("click");
}
}
}
nun ist es aber so, dass nach dem login wieder auf einen button geklickt werden soll, Automatisch natürlich. Nachdem dann dieser Button (auf der Homepage) geklickt wurde, sollten Textformen ausgefüllt werden und wieder ein Button geklickt werden (auf der Homepage). Und so geht es weiter. Alles automatisch. Wenn ich aber jetzt folgenden code
Code:
webBrowser1.Document.GetElementById("BUTTON_ReparaturAnlegen").InvokeMember("click");
einfach Anhänge beim Button2-Code, dann bekomm ich ne Fehlermeldung. Ist auch klar, da ja der login noch nicht vollzogen ist, sprich die Seite noch nicht fertig geladen ist. Wie kann ich also warten bis die Seite nach dem login fertig geladen ist, damit ich dann weitere Aktionen ausführen lassen kann? Ich hab was gelesen vom Website.Completed Event, allerdings ist mir nicht ganz schlüssig wie ich dieses Event in den Button2-Code einbinde. Ich hoffe ihr versteht was ich meine?!
Vielen Dank.