c# - WebBrowser 无法创建帐户
问题描述
我已经编写了一些代码来允许我使用 C# 在网站上自动创建一个帐户。不幸的是,代码似乎没有按预期工作,因为我没有收到来自该站点的确认电子邮件。
这是我的代码(我只复制了重要部分以使其尽可能客观)
webBrowser.Navigate("https://account.protonvpn.com/signup");
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
MessageBox.Show("end");
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowser.ReadyState != WebBrowserReadyState.Complete)
return;
if (webBrowser.Url.ToString() == "https://account.protonvpn.com/signup")
{
buttons = webBrowser.Document.GetElementsByTagName("button");
foreach (HtmlElement button in buttons)
{
if (button.InnerText == "Get Free")
{
button.InvokeMember("click");
MessageBox.Show("clicked");
}
else
{
MessageBox.Show("not clicked");
}
}
return;
}
if (webBrowser.Url.ToString() == "https://account.protonvpn.com/signup/account")
{
webBrowser.Document.GetElementById("username").SetAttribute("value", "username");
webBrowser.Document.GetElementById("password").SetAttribute("value", "password");
webBrowser.Document.GetElementById("passwordConfirmation").SetAttribute("value", "password");
webBrowser.Document.GetElementById("email").SetAttribute("value", "email");
buttons = webBrowser.Document.GetElementsByTagName("button");
foreach (HtmlElement button in buttons)
{
if (button.InnerText == "Create account")
{
button.InvokeMember("click");
MessageBox.Show("account created");
}
else
{
MessageBox.Show("error");
}
}
return;
}
if (webBrowser.Url.ToString() == "https://account.protonvpn.com/signup/verification")
{
buttons = webBrowser.Document.GetElementsByTagName("button");
foreach (HtmlElement button in buttons)
{
if (button.InnerText == "Send")
{
button.InvokeMember("click");
MessageBox.Show("account created!");
}
else
{
MessageBox.Show("error!");
}
}
return;
}
}
我在运行代码时也遇到了一些“脚本错误”,不确定如何修复它们,也不确定这是否会影响运行代码时的任何内容。
解决方案
推荐阅读
- delphi - 快速找到完全限定的单位名称?
- python - 如何证明这些图片是相同的配置
- c++ - 如何防止在嵌套函数中重复声明 C++ 中的对象?
- linear-equation - 有没有办法用千里马求解三元一阶方程?
- powershell - 网站登录自动化和输出状态
- android - 当另一个应用程序启动/启动时启动/启动 myApp
- javascript - 为什么每次从命令提示符运行 java 脚本文件时都会出现此错误?“参考节点未定义”
- azure - Terraform 有条件地排除资源块
- validation - 我可以在运行时动态设置标签吗?
- python - 可以从 __main__ 以外的 OTHER 启动 Python 多处理进程吗?