我尝试使用以下代码登录gmail:
private void button1_Click(object sender, EventArgs e)
{
var user = new SecureString();
foreach (char c in textBox3.Text)
{
user.AppendChar(c);
}
Process.Start("C:/Users/Indish/Desktop/chrome",
"www.gmail.com", user, textBox4.Text);
}
程序说问题中提到的登录失败。所以,如果有人可以提供帮助.........提前致谢
答案 0 :(得分:5)
首先,您正在使用错误的参数来重载您正在使用的方法。参数是:
Process.Start(fileName, userName, password, domain)
因此,您将www.gmail.com
作为用户名发送,并将用户名作为密码发送,这就是您收到登录失败的错误消息的原因。
您需要使用带有五个参数的重载来发送参数并登录到方法:
Process.Start(fileName, arguments, userName, password, domain)
但是,它用于为用于运行程序的用户帐户提供登录,而不是将登录信息发送到程序。
如果网页支持,您可以在URL中发送登录信息:
Process.Start("C:/Users/Indish/Desktop/chrome", user + ":" + textBox4.Text + "@www.gmail.com");
否则,您需要在程序中嵌入浏览器控件,以便在加载后访问该表单。
答案 1 :(得分:-1)
但是,我可以帮助您,您在HTML交互中使用的代码在哪里?也许我是误会。您是将这些变量发布到Web服务器并检查响应,还是使用无返回方法来登录?
- 编辑 -
我道歉,我对Stack Overflow的操作还有点新意。你想要做的就是在应用程序内部的Web浏览器上使用webBrowser1.Document.GetElementById("IDNAME").SetAttribute("value", "data to put in");
。对于FaceBook,网站的HTML已经在您尝试设置的框中嵌入了标记。
因此,考虑到这一点,您可以通过将“IDNAME”替换为“email”来使用标记的HTML ID,就像FaceBook上该框的ID一样。您可以在整个登录过程中执行此操作(包括使用webBrowser1.Document.GetElementByID("ID OF THE BUTTON HERE").InvokeMember("click");
您通常可以通过 F12 访问我的Chrome中的开发者控制台,或者使用Chrome浏览器中的CTRL + SHIRT + C, F12 访问开发人员控制台,以及< IE中的kbd> F12 。您正在寻找一个名为“Inspect Element”的工具来查找ID。