1
我希望能夠打開一個網頁,登錄並能夠在下一頁上做的事情。 DoPlans不會執行。這是到目前爲止我的代碼...(我知道我有噸有很多的變量)如何使用多個WebBrowser文檔完成
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.Navigate("t");
}
private void DoPlans(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
textBox1.AppendText("started");
webBrowser1.Document.GetElementById("t").InvokeMember("Click");
webBrowser1.Document.GetElementById("t").InvokeMember("Click");
foreach (HtmlElement elem in webBrowser1.Document.GetElementsByTagName("input"))
{
if (elem.GetAttribute("value") == "Submit Weekend Plans")
{
elem.InvokeMember("Click");
}
}
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.GetElementById("username").SetAttribute("value", "t");
webBrowser1.Document.GetElementById("password").SetAttribute("value", "t");
foreach (HtmlElement elem in webBrowser1.Document.GetElementsByTagName("input"))
{
if (elem.GetAttribute("value") == "Login")
{
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DoPlans);
elem.InvokeMember("Click");
}
}
}
}
你在裏面訂閱事件事件自己的事件處理程序。似乎是正確的方法。 – abatishchev
我看到你正在尋找一個元素並點擊它。但是你正在訂閱錯誤的事件。如果點擊確實起作用,那麼Web瀏覽器將導航到另一個頁面。這裏同一個事件處理程序應該第二次觸發。你只需要區分不同的頁面。你可以嘗試使用'e.Url'。 – abatishchev