Per capire se la pagina è completamente caricata, hai due sistemi per farlo: o utilizzi gli eventi, oppure entri in loop e testi la proprietà IsBusy, che ti dice se il componente è "occupato".
Per farlo in maniera semplice (anche se non è il massimo della programmazione), puoi tulizzare questa routine:
Private Sub WaitWB()
Application.DoEvents()
Threading.Thread.Sleep(300)
Application.DoEvents()
Do Until WebBrowser1.ReadyState = WebBrowserReadyState.Complete And Not WebBrowser1.IsBusy
Threading.Thread.Sleep(150) 'per non appensatire
Application.DoEvents()
Loop
End Sub
Poi nel tuo ciclo principale basta che fai:
WebBrowser1.Navigate("https://translate.google.it/?hl=it&tab=wT")
WaitWB()
A questo punto devi analizzare la pagina HTML che ti è arrivata, utilizzando WebBrowser1.Document.Body.OuterHtml e tramite anche un oggetto HtmlElementCollection puoi scorrere la pagina finchè trovi l'oggetto desiderato.
Poi, per scrivere nella casella di testo, puoi (ad esempio) usare:
WebBrowser1.Document.GetElementById("source").SetA ttribute("value", "il testo da tradurre")
Sergio