2013-02-04 12 views
6

Próbuję pomóc użytkownikowi zalogować się na jego konto przy użyciu niestandardowego kontrolki WebBrowser. Próbuję ustawić wartość tagu wejściowego na nazwę użytkownika odtwarzacza za pomocą funkcji WebBrowser 's za pomocą funkcji InvokeScript. Jednak moim obecnym rozwiązaniem jest robienie tylko pustej białej strony.Ustawianie wartości znacznika wejściowego w formancie WebBrowser

Mój bieżący kod wygląda następująco (web to nazwa mojego WebBrowser sterowania):

web.Navigate(CurrentURL, null, @"<script type='text/javascript'> 
    function SetPlayerData(input) { 
     username.value = input; 
     return true; 
    } 
</script>"); 
web.Navigated += (o, e) => 
{ 
    web.IsScriptEnabled = true; 
    web.InvokeScript("SetPlayerData", @"test"); 
}; 

Jak wspomniano, to nie działa w tej chwili. Próbuję to zrobić w systemie Windows Phone, więc pewna liczba przykładów, które znalazłem tutaj, w innych miejscach nie będzie działać, ponieważ nie mam dostępu do tych samych funkcji.

Jak wykonać to pomyślnie?

EDYCJA: Być może nie było jasne, ale pracuję z Windows Phone, który ma ograniczone API dostępne, co oznacza, że ​​nie mam dostępu do właściwości Document i wielu innych funkcji. Mam dostęp do InvokeScript, ale niewiele więcej.

Odpowiedz

10
webBrowser1.Document.GetElementById("navbar_username").InnerText ="Tester"; 
webBrowser1.Document.GetElementById("navbar_password").InnerText = "xxxxxxxxxxx"; 

foreach (HtmlElement HtmlElement1 in webBrowser1.Document.Body.All) 
    { 
    if (HtmlElement1.GetAttribute("value") == "Log in") 
     { 
     HtmlElement1.InvokeMember("click"); 
     break; 
     } 
    } 

można znaleźć więcej tutaj: http://deltahacker.gr/2011/08/15/ftiakste-to-diko-sas-robot/

+3

Kontrola Telefon WebBrowser Windows nie posiada właściwości dokumentu. – Runewake2

+0

Pracowałem dla mnie. Wielkie dzięki. –

Powiązane problemy