webbrowser
Winformアプリケーションにコントロールがあります。
以下の領域は、コードサンプルの分割に属しています。
リージョン1 現在ロードされているURLページは「http://MyWebsite.com」です。コードを使用して、Webページのリンク(「AboutUs」など)をクリックしています。このクリックにより、新しいURLページ( " http://MyWebsite.com/About_Us ")に移動します。ナビゲートイベントでは、この新しいURLを記録しています。
リージョン2
次に、この新しいURLのすべての要素を取得して、新しいリンクをクリックします。しかし、それを行う方法がわかりません。リージョン2では、新しいURLをwebbrowserオブジェクトにも割り当てています。しかし、インスタンスには何も反映されていません。webbrowser.url
以前のURLパスがまだ含まれています。
ボタンクリックのコードは次のとおりです。
private void Button1Click(object sender, EventArgs e)
{
// Region 1---------------------------------------------
HtmlElementCollection links = webBrowser1.Document.GetElementsByTagName("A");
foreach (HtmlElement link in links)
{
if (link.InnerText != null && link.InnerText.Equals("Click to view magic"))
{
link.InvokeMember("Click");
break;
}
}
// EndRegion---------------------------------------------
// Region 2---------------------------------------------
webBrowser1.Url = new Uri(_url.AbsoluteUri, UriKind.Absolute);
webBrowser1.Navigate(_url); //New Edit
links = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement link in links)
{
if ((link.GetAttribute("Name") == "BooHoo"))
{
link.InvokeMember("Click");
break;
}
}
// EndRegion---------------------------------------------
}
private void WebBrowser1Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
_url = e.Url;
}
誰かが私がこれをするのを手伝ってくれますか?質問はあまり明確ではないかもしれません。さらに詳しい情報が必要な場合はお知らせください。ありがとう。