我正在尝试通过在两个文本框中键入我的凭据来登录我的youtube帐户。 我还有一个按钮和一个webbrowser。这是youtube login page:
按钮代码:
webBrowser1.Document.GetElementById("Email").SetAttribute("value",credentials[0]);
webBrowser1.Document.GetElementById("Passwd").SetAttribute("value", credentials[1]);
webBrowser1.Document.GetElementById("signIn").InvokeMember("submit");
所以现在我的问题是它没有点击登录按钮。如果我点击开始,它会自动输入我的电子邮件和密码,但不会点击登录按钮。
有谁知道为什么?
答案 0 :(得分:0)
您可以尝试使用signIn按钮上的jQuery调用click事件。
另外,方法名称不提交,名称为signIn
答案 1 :(得分:0)
我之前已经完成了这项工作,但还有几步。
using mshtml;
static private SHDocVw.WebBrowser_V1 Web_V1;
Form1_Load ()
{
Web_V1 = (SHDocVw.WebBrowser_V1)webBrowser1.ActiveXInstance;
}
webBrowser1_DocumentComplete ()
{
HTMLDocument pass = new HTMLDocument(Web_V1.Document);
HTMLInputElement passBox = (HTMLInputElement)pass.all.item("Passwd", 0);
passBox.value = "Password";
HTMLInputElement logBox = (HTMLInputElement)pass.all.item("Email", 0);
logBox.value = "Email";
HTMLInputElement submit = (HTMLInputElement)pass.all.item("signIn", 0);
submit.click();
}
之前这对我有用。
答案 2 :(得分:0)
将<{1}}用于此
但是如果你遇到类似的问题,那么检查一下ajax函数是否仍然在执行。
即使文件加载事件在仍然加载ajax调用时被触发,那么在ajax函数完成之前,您可能无法获得完整的文档。
为此你需要等到它被加载然后调用成员。 Check this article关于如何等待ajax加载完成。