Softwareentwicklung
›
Thread
vb2010 Webbrowser -Textfeld ausfüllen
G
grundschüler
Gast
29.01.2015 12:23
#3988556
ich möchte in den Netzwerk-hp officejet 8600 aus einer Datenbank
Faxnummern automatisch eingeben.
mit diesem code 1 Private Sub Button3_Click ( ByVal sender As System . Object , ByVal e As System . EventArgs ) Handles Button3 . Click
2 Dim abfr , x , y , z , u , v
3 ' Clipboard . SetText ( adrFax_dial . ToString )
4 ' WebBrowser1 . ShowPropertiesDialog ()
5 abfr = WebBrowser1 . Size . Height . ToString
6 abfr = WebBrowser1 . Height . ToString
7
8 z = WebBrowser1 . Size . Width
9 u = WebBrowser1 . Size . Height
10 x = WebBrowser1 . Location . X ()
11 y = WebBrowser1 . Location . Y ()
12 WebBrowser1 . Left = 0
13 Me . Location = New Point ( 5 , 5 )
14 WebBrowser1 . Location = New Point ( 5 , 5 )
15 Windows . Forms . Cursor . Position = New Point ( x + 620 , y + 345 )
16 mouse_event ( MOUSEEVENTF_LEFTDOWN , 0 , 0 , 0 , 1 )
17 mouse_event ( MOUSEEVENTF_LEFTUP , 0 , 0 , 0 , 1 )
18 Windows . Forms . Cursor . Position = New Point ( 400 , 390 )
19 mouse_event ( MOUSEEVENTF_LEFTDOWN , 0 , 0 , 0 , 1 )
20 mouse_event ( MOUSEEVENTF_LEFTUP , 0 , 0 , 0 , 1 )
21 mouse_event ( MOUSEEVENTF_LEFTDOWN , 0 , 0 , 0 , 1 )
22 mouse_event ( MOUSEEVENTF_LEFTUP , 0 , 0 , 0 , 1 )
23 Threading . Thread . Sleep ( 150 )
24 mouse_event ( MOUSEEVENTF_LEFTDOWN , 0 , 0 , 0 , 1 )
25 mouse_event ( MOUSEEVENTF_LEFTUP , 0 , 0 , 0 , 1 )
26 mouse_event ( MOUSEEVENTF_LEFTDOWN , 0 , 0 , 0 , 1 )
27 mouse_event ( MOUSEEVENTF_LEFTUP , 0 , 0 , 0 , 1 )
28 Threading . Thread . Sleep ( 150 )
29
30 ' Clipboard . GetText ()
31 ' Text . StartsWith ( "99" )
32 Dim xxx As String
33 ' xxx = WebBrowser1 . DocumentText ()
34 ' WebBrowser1 . DocumentText () = "99"
35 ' SendKeys . Send ( "99" )
36
37 End Sub
komme ich bis zur Selektion des Eingabefeldes.
Mit Ctr-V kann ich jetzt die gewünschte Eingabe per Hand vornehmen. Wie
bekomme ich vb dazu, den Text im selektierten Textfeld zu ersetzen?
AN
Arc N.
(arc)
29.01.2015 12:45
#3988602
G
grundschüler
Gast
29.01.2015 13:04
#3988640
Arc Net schrieb:
vielen Dank für die Antwort1
2
3 < input id = "contactPhoneNumberField-Inp" type = "text" class = "gui-input-field text" maxlength = "55" alt = "" >
4
5 ....
6 WebBrowser1 . Document . GetElementById ( "contactPhoneNumberField-Inp" ). SetAttribute ( "value" , "555" )
geht aber leider auch nicht
G
grundschüler
Gast
29.01.2015 15:50
#3988979
problem war das refresh des browsers. Mit einem timer geht es einen
Schritt weiter, danke für den Hinweis von Arcnet
Timer1.Stop()
WebBrowser1.Document.GetElementById("contactPhoneNumberField-Inp").SetAt
tribute("value", "555")
AN
Arc N.
(arc)
29.01.2015 15:51
#3988981
grundschüler schrieb:
> Arc Net schrieb:
>
>
> vielen Dank für die Antwort
> 1 >
2 > < input id = "contactPhoneNumberField-Inp" type = "text"
3 > class = "gui-input-field text" maxlength = "55" alt = "" >
4 >
5 > ....
6 > WebBrowser1 . Document . GetElementById ( "contactPhoneNumberField-Inp" ). SetAttribute ( "value" ,
7 > "555" )
8 >
> geht aber leider auch nicht
Was geht nicht bzw. was liefert GetElementById zurück bzw. mal ansehen
was alles in dem zurückgelieferten HtmlElement steht (Children,
InnerHtml).
Edit: Statt Timer vielleicht auf das DocumentCompleted-Ereignis des
WebBrowser-Controls reagieren
G
grundschüler
Gast
29.01.2015 16:46
#3989119
Arc Net schrieb:
> Edit: Statt Timer vielleicht auf das DocumentCompleted-Ereignis des
das hatte ich versucht. WebBrowser1_DocumentCompleted kommt nicht. Bei
refresh springt der Webbrowser auf die Ausgangs-Url zurück. Deswegen die
Bastelei mit Cursor/ Maustasten. Mit Timern funktioniert das ganze jetzt
perfekt:1 Private Sub Timer1_Tick ( ByVal sender As System . Object , ByVal e As System . EventArgs ) Handles Timer1 . Tick
2 Timer1 . Stop ()
3 If status = 0 Then
4 setFaxDial ()
5
6 End If
7
8 If status = 1 Then
9 status = 2
10 Timer1 . Stop ()
11 Timer2 . Enabled = True
12 Timer2 . Interval = 1000
13 Timer2 . Start ()
14 WebBrowser1 . Document . GetElementById ( "contactPhoneNumberField-Inp" ). SetAttribute ( "value" , Clipboard . GetText ())
15 status = 2
16 ' SendKeys . Send ( "{TAB}" )
17 ' SendKeys . Send ( "{Enter}" )
18 End If
19 If status = 3 Then
20 Me . Finalize ()
21 End If
22
23 End Sub
24
25 Private Sub Timer2_Tick ( ByVal sender As System . Object , ByVal e As System . EventArgs ) Handles Timer2 . Tick
26 If status = 2 Then
27 status = 3
28 Timer1 . Start ()
29 SendKeys . Send ( "{TAB}" )
30 SendKeys . Send ( "{Enter}" )
31 End If
32
33 End Sub
Danke für die Unterstützung
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
Noch kein Account?
Die Registrierung ist kostenlos und dauert nur eine Minute.
Jetzt registrieren