簡體   English   中英

使用C#和WebBrowser進行網站自動化

[英]Website Automation Using C# and WebBrowser

我正在構建一個應用程序,它在WebBrowser控件中打開一個網站,然后在字段中放入一些文本,然后一個接一個地點擊幾個按鈕上的提交。

看看下面的代碼......

var doc = webBrowser1.Document.GetElementById("ddlOnBoro");
doc.SetAttribute("SelectedIndex", "3");
var temp = doc.InvokeMember("change");

doc = doc.Document.GetElementById("iddOnstreet_txTextBox");
doc.SetAttribute("value", "ASTOR PLACE");

var adoc = doc.Document.GetElementById("Button6");
var getCrossStreets = adoc.DomElement as mshtml.HTMLInputButtonElement;
adoc.RaiseEvent("onclick");

第一行和最后三行工作正常,甚至中間2工作正常,但是當我在最后一行代碼中使用RaiseEvent(“onclick”)時,文本框的值在提交之前變為空白,即使我已將其設置為第5行代碼。

該網站內置於ASP.NET中,我認為這是混亂的ViewState。

有任何想法嗎?

http://watin.org/以Watir為基礎,允許對網站進行單元測試。 它還可用於輸入表單數據,從網站上抓取數據等。它非常適合與C#一起使用。 請不要將其用於惡意目的。

如果您在IE網站上,單擊按鈕時文本框是否會清除? 如果你試圖復制你的程序試圖手工做的事情,同樣的事情不會發生,那么你可能會遺漏一些東西。 例如,在前三行中,您調用“更改”事件(我認為它實際上是“onchange”),但您不會在接下來的兩行中執行此操作。 只要看一下,這就是你的代碼和手工操作之間的唯一區別。

請參閱以下文章。

它提供了一個關於如何使用WebBrowser自動將搜索文本填入Google的小例子。 我會從那開始,然后嘗試使用不同的字段名稱輸入您自己的網站。

C#自動點擊按鈕和自動填寫表格

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM