Używam Awesomium 1.7.0.5 w celu załadowania strony, wypełnienia niektórych pól tekstowych i kliknięcia przycisku. Staram się wypełnić pole tekstowe na przykładzie z tego wątku: http://answers.awesomium.com/questions/857/webcontrol-type-in-webbrowser.htmlAwesomium .NET: Dokument nie jest gotowy w wydaniu DocumentReady?
Tu jest mój kodu (używam kontroli WPF):
private void WbAwsOnDocumentReady(object sender, UrlEventArgs urlEventArgs)
{
if (wbAws == null || !wbAws.IsLive)
return;
//Thread.Sleep(555);
dynamic document = (JSObject)wbAws.ExecuteJavascriptWithResult("document");
if (document == null)
return;
using (document)
{
dynamic textbox = document.getElementById("email");
if (textbox == null)
return;
using (textbox)
{
textbox.value = "gaaffa";
}
}
}
To działa, ale tylko z Thread.Sleep do 0,1-0,5 sec. W przeciwnym razie dokument jest pusty (nie ma wartości null) i/lub pole tekstowe ma wartość null. Co mam zrobić? Dlaczego nie jest gotowy w DocumentReadyEvent?
Czy wypróbowałeś imprezę FinishLoading? – KF2
hm ... Nie ma takiego zdarzenia. – AlexP11223
Pracuję z ver 1.6, ma to zdarzenie.Ale możesz sprawdzić, czy dokument == null uruchomić ponownie metodę WbAwsOnDocumentReady, dopóki nie zostanie ustawiona wartość pola tekstowego – KF2