2016-10-04 1 views
0
  1. Dies ist der Code der Website:versucht, ein vorlegen InvokeMember Taste mit C#

    function checkSubmit(e) 
    { 
        if(e && e.keyCode == 13) 
        { 
         document.frmLogin.submit(); 
        } 
    } 
    <div class="enterButton" onclick="document.frmLogin.submit()">Sign in</div> 
    
  2. Dies ist, was habe ich versucht, in C#:

    HtmlElementCollection elc1 = webBrowser1.Document.GetElementsByTagName("div"); 
    foreach (HtmlElement element in elc1) 
    { 
        if (element.GetAttribute("InnerHtml").Equals("<DIV onclick=document.frmLogin.submit() class=enterButton>Sign in</DIV>")) 
        { 
         element.InvokeMember("submit()"); 
        } 
    } 
    
  3. Die foreach arbeitet und die if Anweisung funktioniert, wenn es an die InvokeMember nichts passiert passiert.

+0

Wie bist du C# im Browser ausgeführt werden? – Will

+0

@Will OP versucht, eine JavaScript-Funktion im WebBrowser-Steuerelement in C# aufzurufen, die möglich ist .... –

+0

Ich führe VS13 Windows Form mit Webbrowser controler ..... – Nate

Antwort

-1

Versuchen Sie die Invoke-Member-Methode ohne die Klammern.

element.InvokeMember("submit"); 
+0

Runde Klammern oder * Klammern * :) –

+0

Die, die ich in der Antwort oben entfernt habe ... :) –

+0

Willst du '' click'' nicht aufrufen, da das 'Element' ein' div' ist? –

0

Sorry für die Mühe, die ich gerade am falschen Element war:

if (element.GetAttribute("InnerHtml").Equals("Sign in")) 
{ 
element.InvokeMember("click"); 
} 

jetzt funktioniert es ....

Verwandte Themen