Sobald ich das Programme starte, connectet der Webbrowser, (der erstmal nur zum Testen sichtbar ist), soweit so gut. Allerdings möchte ich gerne auf den "Get Captcha"-Button verzichten, und möchte, dass der Captcha ebenfalls direkt geladen wird.
Habe es so schon probiert, funktioniert allerdings nicht:
Und zwar, weil die Seite noch nicht ganz geladen ist, wenn er den Captcha laden möchte. Hab dann rumgegoogelt und es mit'm Thread.Sleep probiert, funktioniert allerdings auch nicht, weil der ganze Thread dann ja gefreezt ist.
Und mit dem Timer komm ich nicht ganz so weiter ...
Wollte einfach mal fragen, was ich an dieser Stelle benutzen kann, damit er z.B. erst die Seite zu Ende laden lässt oder einfach 3 Sekunden wartet, bevor er das Captcha abfragt.
Warum das ganze nun über das WebBrowser-Control läuft ist mir schleierhaft, du kannst auch ein WebRequest nehmen, ist nicht nur von der Perfomance besser .
Um auf deine Frage zu antworten, es gibt ein Event, welches überprüft ob die Website im Control vollständig geladen wurde, wenn ja, dann erst das gewünschte auslesen lassen.
Ich weiß nicht genau, was du als Browser/Webdriver benutzt, ich gehe mal von Selenium oä. aus...
Normalerweise sollte bei Navigate schon automatisch gewartet werden, bis die Seite vollständig geladen wurde.
Ansonsten kannst du auch irgendwo ne Option setzen, dass bis zu x Sekunden gewartet werden soll, wenn ein Element angesprochen wird, das (noch) nicht verfügbar ist.
Das Captcha sollte aber auch einfach mit nem RegEx aus dem Quellcode herauszuholen sein.
Nebenbei würde ich es auch erst mal mit nem WebRequest, bzw. besser: HttpClient, weil der Async benutzt werden kann, versuchen.
Edit: Nvm, ist ja nur ne ganz normale Webbrowser Control...
Ich weiß nicht genau, was du als Browser/Webdriver benutzt, ich gehe mal von Selenium oä. aus...
Normalerweise sollte bei Navigate schon automatisch gewartet werden, bis die Seite vollständig geladen wurde.
Ansonsten kannst du auch irgendwo ne Option setzen, dass bis zu x Sekunden gewartet werden soll, wenn ein Element angesprochen wird, das (noch) nicht verfügbar ist.
Das Captcha sollte aber auch einfach mit nem RegEx aus dem Quellcode herauszuholen sein.
Nebenbei würde ich es auch erst mal mit nem WebRequest, bzw. besser: HttpClient, weil der Async benutzt werden kann, versuchen.
ehm, das geht ein wenig über meine möglichkeiten D:
das programm an sich funktioniert ja auch schon, also das captcha, die eingabe von username und pw, der submit button.
nur weiß ich noch nicht was ich dafür einsetzen soll. habe es eben mit dem WebBrowserDocumentCompletedEvent probiert, aber klappt noch nicht ._.
public Form1()
{
InitializeComponent();
Main();
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
Es ist mir schleierhaft, wie du das Ganze mit einer WebBrowser Control bewerkstelligen willst^^ Aber ich lasse mich gerne belehren.
Ich meine, mit HttpClient wäre das kein Problem, weil du automatisch die selben Cookies etc. hast.
Das mit dem DocumentCompleted Event funktioniert zumindest, habe es eben ausprobiert. Die Seite ist komplett geladen, du kannst dir den Source Code zur Überprüfung mit
Es ist mir schleierhaft, wie du das Ganze mit einer WebBrowser Control bewerkstelligen willst^^ Aber ich lasse mich gerne belehren.
Ich meine, mit HttpClient wäre das kein Problem, weil du automatisch die selben Cookies etc. hast.
Das mit dem DocumentCompleted Event funktioniert zumindest, habe es eben ausprobiert. Die Seite ist komplett geladen, du kannst dir den Source Code zur Überprüfung mit
[C#]Timer in einem Thread verwenden 03/16/2014 - .NET Languages - 5 Replies Hey,
ich habe ein kleines Problem, ich möchte einen Timer in einem neuen Thread verwenden, jedoch geht es mit timer1.Start(); nicht, der Timer startet nicht. Gibt es dafür eine Lösung ?
[?] Timer oder Background Worker? [VB.net] 10/27/2012 - .NET Languages - 4 Replies Heyho liebe Coder Community,
Was lohnt sich mehr bei mehrfachen HttpWebRequests und Regex Splittings,
der Timer oder der Backgroundworker mit einem Loop?
lg
Job Timer (Taxi Timer, etc) 09/01/2011 - SRO Hacks, Bots, Cheats & Exploits - 2 Replies A small utility to keep track of jobs that need timing.
http://img834.imageshack.us/img834/6076/jt01.png
Always read the changelog!
To get access to Job Timer, register at "www.error- soft.net" ( without the spaces between the - )
Press thanks if this helps at all.