2010-03-16 39 views
1

我使用WebBrowser控件自動執行表單登錄。擁有文本框,密碼和按鈕登錄的客戶端ID,我可以做到這一點。使用Webbrowser控件在網站中自動執行表單登錄

問題是,我仍然可以做到這一點,而無需識別按鈕的ID並模擬點擊?

+3

順便說一句,與VB.NET不同,沒有C#.NET這樣的東西。 – 2010-03-16 01:36:02

回答

2

如果不能以某種方式識別控件,就無法做到這一點。您需要使用ID,否則您需要通過其他方式準確告知DOM所在位置。

+1

錯了。看我的編輯。 – SLaks 2010-03-16 01:45:46

+0

@Slaks:對,一般。如果不使用'type =「password」'怎麼辦?如果在密碼和用戶名框之間有很多''會怎麼樣? – 2010-03-16 01:53:24

+0

什麼?在任何地方向我展示_one_登錄表單,而不需要''。您可以忽略隱藏的輸入。 – SLaks 2010-03-16 02:14:19

4

是;您可以撥打對象的submit方法。

例如:

browser.Document.Forms[0].Invokemember("submit"); 

要設置通過

用戶名和密碼,環
browser.Document.Forms[0].GetElementsByTagName("input") 

Tpassword將有type屬性等於password,只是密碼之前的用戶名可能會是。

+0

@ S.Laks:他還需要填寫用戶名和密碼。 – 2010-03-16 01:37:23

+0

是的,但他沒有要求。 – SLaks 2010-03-16 01:37:50

+1

他這樣做:「通過文本框的客戶端ID,密碼和按鈕登錄,我能夠做到這一點。」我想不出爲什麼他會問這些控制。 – 2010-03-16 01:38:41