#javascript #c# #webbrowser-control #invokemember
#javascript #c# #веб-браузер-управление #invokemember
Вопрос:
-
Это код веб-сайта :
function checkSubmit(e) { if(e amp;amp; e.keyCode == 13) { document.frmLogin.submit(); } } <div class="enterButton" onclick="document.frmLogin.submit()">Sign in</div>
-
Это то, что я пробовал на 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()"); } }
-
foreach
if
Работает, и оператор работает, когда доходит доInvokeMember
ничего не происходит.
Комментарии:
1. Как вы запустили c # в браузере?
2. @Will OP пытается вызвать функцию javascript в элементе управления WebBrowser на c #, что возможно….
3. Я запускаю форму Windows VS13 с контроллером webbrowser…..
4. Обратите внимание, что ваш заголовок ссылается на «кнопку отправки», которая обычно является названием для HTML
<input type="submit"/>
-кода, но ваш код показывает adiv
, который не является кнопкой.
Ответ №1:
Извините за беспокойство, я просто ошибся элементом:
if (element.GetAttribute("InnerHtml").Equals("Sign in"))
{
element.InvokeMember("click");
}
теперь это работает….
Ответ №2:
Попробуйте вызвать метод-член без скобок.
element.InvokeMember("submit");
Комментарии:
1. Круглые скобки или круглые скобки 🙂
2. Те, которые я удалил в ответе выше … 🙂
3. Разве вы не хотите вызывать
"click"
, посколькуelement
это adiv
?