Я пытаюсь войти на веб-сайт и не могу заставить его работать так, как я хочу, с текущим кодом, когда он запускается через код, который он не щелкает, даже когда я пытаюсь нажать кнопку отправить всам веб-браузер.
Я могу заставить его работать с закомментированным кодом, но веб-браузер должен оставаться открытым, и я бы хотел, чтобы он был скрыт.
В идеале мне бы хотелосьиспользовать веб-браузер, так как я все это делал с помощью веб-браузера, но если я не могу, я могу попробовать селен, и я хотел бы знать, почему он не работает.
Этот код будетточно воссоздайте проблему, если у вас есть нужные библиотеки. Если вы поставите разрыв в конце метода MainSite
, он остановится именно там, где возникает проблема. Если вы затем попытаетесь нажать на кнопку «Войти», ничего не произойдет, но если вы затем поставите символ назад, вы можете нажать кнопку еще раз, и он скажет вам, что у вас неправильный пароль.
Надеюсь, этого достаточноидти дальше.
using System.Windows.Forms;
using SHDocVw;
using MSHTML;
using System.Threading;
namespace ShiftCodes
{
public partial class Form1 : Form
{
public Form1()
{
//InitializeComponent();
MainSite();
}
void MainSite()
{
InternetExplorer ie = new InternetExplorer();
string loginsite = "https://borderlands.com/en-US/vip-codes/";
SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)ie;
HTMLDocument document = new HTMLDocument();
wb.Visible = true;
wb.Navigate(loginsite);
while (wb.Busy) { Thread.Sleep(1000); }
document = ((HTMLDocument)wb.Document);
IHTMLElementCollection links = document.getElementsByTagName("A");
foreach (IHTMLElement link in links)
{
var sss = link.innerText;
if (link.innerText != null)
{
if (link.innerText.Contains("Login"))
link.click();
}
}
while (wb.Busy) { Thread.Sleep(1000); }
links = document.getElementsByTagName("A");
foreach (IHTMLElement link in links)
{
var sss = link.innerText;
if (link.innerText != null)
{
if (link.innerText.Contains("Continue"))
link.click();
}
}
while (wb.Busy) { Thread.Sleep(1000); }
foreach (HTMLInputElement element in document.getElementsByTagName("input"))
{
if (element.name == "username")
{
element.setAttribute("value", "email@gmail.com");
//element.focus();
//SendKeys.SendWait("email@gmail.com");
//Thread.Sleep(100);
}
if (element.name == "password")
{
element.value = "Password";
//element.focus();
//SendKeys.SendWait("Password");
//Thread.Sleep(100);
}
}
foreach (HTMLInputElement element in document.getElementsByTagName("button"))
{
if (element.innerText.Contains("Sign In"))
{
element.click();
}
}
}
}
}