c#
  • windows-phone-7
  • webbrowser-control
  • 2013-02-04 28 views 6 likes 
    6

    我試圖幫助用戶使用自定義WebBrowser控件登錄到他們的帳戶。我正在嘗試使用WebBrowserInvokeScript函數將輸入標記的值設置爲玩家用戶名。但是,我目前的解決方案除了呈現空白頁面外什麼也不做。在WebBrowser控件中設置輸入標籤的值

    我當前的代碼看起來像這樣(網頁的名稱是我的WebBrowser控制):

    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"); 
    }; 
    

    如前所述,這不馬上工作。我試圖在Windows Phone上這樣做,因此我在這裏和其他地方找到的一些示例都不起作用,因爲我無法訪問相同的功能。

    我將如何成功執行此操作?

    編輯:也許我不清楚,但我正在與Windows Phone,它有一個有限的API可用意味着我沒有訪問Document屬性和一些其他功能。我確實可以訪問InvokeScript,但沒有更多。

    回答

    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; 
         } 
        } 
    

    您可能會發現更多在這裏:http://deltahacker.gr/2011/08/15/ftiakste-to-diko-sas-robot/

    +3

    而Windows Phone WebBrowser控件不具有文檔屬性。 – Runewake2

    +0

    爲我工作。非常感謝。 –

    相關問題