たとえば、コードを使用し、ユーザー入力を使用しない場合、プログラムで Google の [検索] ボタンをクリックするにはどうすればよいでしょうか (検索ボックスに入力済みで、google.com にいると仮定します)。
質問する
57017 次
3 に答える
43
webBrowser1.Navigate("http://www.google.com");
これをID
使用する場合:
webBrowser1.Document.GetElementById("id").InvokeMember("click");
TagName
これを使っていたら
webBrowser1.Navigate("http://www.google.com");
Web ブラウザの DocumentCompleted イベントで
HtmlElement textElement = webBrowser1.Document.All.GetElementsByName("q")[0];
textElement.SetAttribute("value", "your text to search");
HtmlElement btnElement = webBrowser1.Document.All.GetElementsByName("btnG")[0];
btnElement.InvokeMember("click");
名前がある場合はClass
、これを使用します。
HtmlElementCollection classButton = webBrowser1.Document.All;
foreach (HtmlElement element in classButton)
{
if (element.GetAttribute("className") == "button")
{
element.InvokeMember("click");
}
}
にテキストを追加TextBox
して google.com を検索するには、次を使用します。
webBrowser1.Document.GetElementById("gs_tti0").InnerText = "hello world";
于 2012-06-30T09:54:49.633 に答える
2
次のコードを試してください。
public WebBrowser webBrowser1 = new WebBrowser();
private void WebForm_Load(object sender, EventArgs e)
{
try
{
webBrowser1.Height = 1000;
webBrowser1.Width = 1000;
this.Controls.Add(webBrowser1);
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);
this.webBrowser1.Navigate("www.google.com.au");
}
catch
{ }
次の関数を C# フォームに書き留めます。
public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var webBrowser = sender as WebBrowser;
webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted;
HtmlElement textElement = webBrowser.Document.All.GetElementsByName("q")[0];
textElement.SetAttribute("value", "mlm company");
HtmlElement btnElement = webBrowser.Document.All.GetElementsByName("btnG")[0];
btnElement.InvokeMember("click");
}
于 2013-08-23T19:35:55.380 に答える
0
や などを使用することに加えて、またはからInvokeMember
呼び出されたときに Web ページの応答に問題がある場合は、.NET 内でクラスを使用してみてください。私はWebページ用に多くのスクリプトを作成しましたが、両方を組み合わせて使用する必要があることがわかりました( @AleWinの回答の方法よりもはるかに面倒ですが)。ID
Class
{TAB}
{ENTER}
SendKeys
SendKeys
于 2015-02-03T22:24:46.913 に答える