2016-10-04 23 views
0
  1. 這是網站的代碼:試圖InvokeMember一個用C#提交按鈕

    function checkSubmit(e) 
    { 
        if(e && e.keyCode == 13) 
        { 
         document.frmLogin.submit(); 
        } 
    } 
    <div class="enterButton" onclick="document.frmLogin.submit()">Sign in</div> 
    
  2. 這是我嘗試在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. foreach工作並且if聲明在InvokeMember時沒有任何反應。

+0

你怎麼把C#中的瀏覽器中運行? – Will

+0

@Will OP試圖調用C#中的WebBrowser控件中的JavaScript函數,這是可能的.... –

+0

我正在運行VS13窗體與webbrowser控制器..... – Nate

回答

-1

嘗試不帶括號的Invoke成員方法。

element.InvokeMember("submit"); 
+0

圓括號或*圓括號* :) –

+0

我在上面的答案中刪除了那些... :) –

+0

難道你不想調用''click'',因爲'element'是'div'嗎? –

0

對不起,麻煩我只是在錯誤的元素:

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

現在工程....