vb 2005: webbrowser, button clicken

a-f-r-a

Grünschnabel
Huhu,

ich möchte ein programm schreiben um meinen router zu kontrollieren. dafür muss ich über das webbrowser-element die loginform ausfüllen und bedienen... Folgender Codeschnippsel soll das im Endeffekt übernehmen:
Code:
    Private Sub wbrWebbrowser_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles wbrWebbrowser.DocumentCompleted
        wbrWebbrowser.Document.All("Password").SetAttribute("Value", "asdkcjmafiqc")
        wbrWebbrowser.Document.GetElementsByTagName("input").Item(2).RaiseEvent("OnClick")

    End Sub

So... das Ausfüllen der Form mit der ersten Zeile des Subs funktioniert wunderbar...
Nur läuft die zweite Zeile überhaupt nicht. Ich bin mir auch nicht sicher, ob das nicht auch total anders gemacht werden müsste... in vb6 war es damals nicht so schwer... aber es muss ja unter vb 2005 auch funktionieren, oder?

Ich suche jetzt bereits seit 2 Tagen danach und langsam hab ich echt Lust meine Tastatur zu fressen!

Das (http://www.activevb.de/tipps/vb6tipps/tipp0330.html) hilft leider überhaupt nicht, denn es funktioniert ja nur bis vb6

EDIT: oh, vielleicht sollte ich erwähnene, das die benötigte Webseite bereits geladen ist! Und die zugehörige Form sieht so aus:
Code:
	<form name="myform" action="/dummy" onsubmit="sendLogin(); return false;">
		<table class="formarea" id="loginpage" summary="" border="0" cellpadding="0" cellspacing="0">
			<tbody><tr> 
				<td class="form_label">Benutzername&nbsp;:</td>
				<td class="form_data">
					<select name="username">
						<option value="admin">Administrator</option>
							<option value="user">Benutzer</option>
					</select>
				</td>
			</tr>
			<tr> 
				<td class="form_label">Kennwort&nbsp;:</td>
				<td class="form_data"> 
					<input name="Password" value="" tabindex="100" type="password">
						<input class="button_submit_padleft" name="Login" value="Anmelden" onclick="sendLogin();" type="button">
				</td>
			</tr>
		</tbody></table>
	</form>
 
Zuletzt bearbeitet von einem Moderator:
Weils um .net geht. :)

Das andere Forum ist für VB6. :)

Achja.. bitte beim nächsten Mal schauen, das der gepastete Code bissl besser reinpasst. ;)

Edit:
Statt:
Code:
GetElementsByTagName("input").Item(2)
mal:
Code:
GetElementByName("Login")
probieren?
 
jo, mach ich...

btw: das kann leider nicht funktionieren, da GetElementByName leider kein Member von System.Windows.Forms.HtmlDocument ist...

es dreht sich (soweit ich das beurteilen kann) wohl auch schon um den richtigen Button, denn

Code:
MsgBox(wbrWebbrowser.Document.GetElementsByTagName("input").Item(2).GetAttribute("Value"))

gibt mir "Anmelden" zurück, was ja bedeuten würde, das ich beim richtigen Knopf bin...


(.Item(2) natürlich auch nur, weil vorher noch zwei andere input-Elemente im Quelltext sind)
 
ja ne antwort dazu könnte ich auch gebrauchen... habe genau das gleiche problem, nur ein anderes formular...
 
ich hab mein problem übrigens gelöst, ich weiß nicht ob es dir hilft. aber ich habe gemerkt (was ja bei vielen seiten so is) dass ich im passwortfeld einfach nur enter drücken brauche, damit ich mich ebenfalls einlogge. vllt. hilft das bei dir ja auch... mach einfach nen focus auf das passwortfeld und sende mit sendkeys enter...
 
Zurück