Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

[Hilfe]VB.net - Button klicken

- - - - -

  • Bitte melde dich an um zu Antworten
7 Antworten in diesem Thema

#1
paulaner

paulaner

    Hacker

  • Premium Member
  • Likes
    50
  • 182 Beiträge
  • 13 Bedankt

Hallo Freunde der Sonne,

 

ich benötige mal wieder Unterstützung :)

 

 

 

ich habe eine kleine vb.net anwendung geschrieben, die via Internet Explorer eine Suchmaske ausfüllen soll.

Das klappt auch mehr oder weniger hervorragend.

 

Mein Problem, ist das klicken eines Buttons. Und zwar des Such-Buttons.

 

Hier ist der relevante Code-auszug:

  lblstatuscompanycode.Text = "true"
        Dim oIE As Object = Nothing
        Dim wc As New WebClient
        Dim name As String = "ctl00_PlaceHolderTitleBar_PlaceHolderSearchArea_GlobalSearch_ctl00_searchButtonID"
       Name = TextBox1.Text
        oIE = CreateObject("InternetExplorer.Application")
        ' IE sichtbar machen und URL laden
        oIE.Visible = True


        ' Login-Seite laden
        oIE.Navigate2("https:/Webseite.com/Ilogin")

        ' kurz warten
        System.Threading.Thread.Sleep(7000)

        ' Login-Formular ausfüllen
        With oIE.Document.Forms(0)


            .Elements("ctl00_PlaceHolderMain_PersonList_PersonListView_listViewSearchControl_ctl00_searchContentTextBoxID").Value = Name

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

Bis hierhin funktioniert alles. Ich weiß....System.Threading.Thread.Sleep(7000) ist nicht die schönste Möglichkeit auf das Laden des Browsers zu warten. Aber es ist erstmal nur zu Testzwecken.

Jetzt kommen wir zu meinem Problem. Dem abschicken.

Mein Code ist folgender:

            ' Formular abschicken

        .Elements("ctl00_PlaceHolderMain_PersonList_PersonListView_listViewSearchControl_ctl00_searchButtonID").value()
            .click()


        End With
    End Sub

 

 

 

Das funktioniert nicht.

Ich habe auch schon vieles andere versucht.

 

 

Der HTML Quellcode sieht folgendermaßen aus:

<td valign="bottom" colspan="1"><span class="ms-siteaction">Search for:</span></td><td valign="bottom"><span class="ms-siteaction" style="margin-left: 7px;">Search within:</span></td>
						</tr><tr valign="top">
							<td><div class="searchBoxExternalContainer"><div class="searchBoxContainer"><input name="ctl00$PlaceHolderMain$PersonList$PersonListView$listViewSearchControl$ctl00$searchContentTextBoxID" type="text" id="ctl00_PlaceHolderMain_PersonList_PersonListView_listViewSearchControl_ctl00_searchContentTextBoxID" accesskey="S" class="searchBoxInput ms-searchbox" onfocus="addClass(this.parentNode, 'searchBoxInputFocus'); addClass(this.parentNode.parentNode, 'searchBoxInputFocus');" onblur="removeClass(this.parentNode, 'searchBoxInputFocus'); removeClass(this.parentNode.parentNode, 'searchBoxInputFocus')" onkeydown="if(event.which || event.keyCode) {if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('ctl00_PlaceHolderMain_PersonList_PersonListView_listViewSearchControl_ctl00_searchButtonID').click();return false;}} else {return true};" style="padding-top:3px; padding-left:4px;" /><a id="ctl00_PlaceHolderMain_PersonList_PersonListView_listViewSearchControl_ctl00_searchButtonID" title="Search" href="javascript:__doPostBack('ctl00$PlaceHolderMain$PersonList$PersonListView$listViewSearchControl$ctl00$searchButtonID','')"><img onmouseover="this.src='~/_layouts/images/MSILM2/searchHover.png'" onmouseout="this.src='~/_layouts/images/MSILM2/search.png'" src="../../../_layouts/images/MSILM2/search.png" alt="Search" style="border-width:0px;vertical-align: 11px; margin-left: 4px;" /></a></div></div></td><td><select name="ctl00$PlaceHolderMain$PersonList$PersonListView$listViewSearchControl$ctl00$searchItemListsID" id="ctl00_PlaceHolderMain_PersonList_PersonListView_listViewSearchControl_ctl00_searchItemListsID" accesskey="I" class="searchBoxDropDown  searchControlItemList" style="margin-top:2px; margin-left:7px;">
								<option selected="selected" value="All Users">All Users</option>
 
							</select></td>
						</tr>
					</table></span></span></td>

Wisst ihr was ich falsch mache?

Und jetzt kommt mir nicht mit "jaaa, du benutzt VB" :D

 

P.S.  Einen Webrequest kann ich nicht verwenden weil ich keine Berechtigungen habe externe Programme zu instalieren (zum loggen der sitzungen).

 

 

 

 

Eine weitere Frage wäre:

 

Es öffnet sich später ein neues kleines InternetExplorer fenster, welches Informationen und Button enthält.

Das Problem ist, dass ich diesem Fenster der rechte Mausbutton nicht geht ( keine java fehlermeldung wie "rechte Maustaste gesperrt), und ich mir so keinen Quellcode des Fensters anschauen kann.

 

Wisst ihr wie ich das umgehe um mir den Quellcode trotzdem anzeigen zu lassen?

 

 

MfG



#2
Born2Hack

Born2Hack

    = B2H =

  • Elite Member
  • Likes
    369
  • 208 Beiträge
  • 416 Bedankt

Seit wann braucht man Berechtigungen um ein HttpWebRequest durchzuführen ?
Das verstehe ich nicht so ganz.
Ist es erwünscht das der Nutzer die Webseite sieht ? Oder könnte man es auch im Hintergrund machen 

Wenn es unbedingt ein WebBrowser sein muss , kannst du auch intern in dein Programm ein WebBrowser Control reinpacken.


q8t3oz6o.png

 

 


#3
n1nja

n1nja

    1337

  • Premium Member
  • Likes
    140
  • 303 Beiträge
  • 84 Bedankt
  • Android [root], iPhone
  • Windows, Linux, Mac OS
Wenn du ein Programm geschrieben hast mit Webbrowser kannst doch auch eins machen mit Webrequests.
Ginge viel einfacher.

Und der Code ist auch nicht grad schön. Warum warten bis er fertig geladen hat?
Dafür gibt es Events.

Ich würd mir das Konzept nochmal genauer überlegen undalles verbessern.

#4
paulaner

paulaner

    Hacker

  • Premium Member
  • Likes
    50
  • 182 Beiträge
  • 13 Bedankt

Ist es erwünscht das der Nutzer die Webseite sieht ? Oder könnte man es auch im Hintergrund machen 

Wenn es unbedingt ein WebBrowser sein muss , kannst du auch intern in dein Programm ein WebBrowser Control reinpacken.

 

Es muss nicht unbedingt sein,dass der Nutzer die Webseite sieht. Ich brauche allerdings hinterher ein Paar strings die auf der Webseite sind um Informationen auszulesen.

 

 

 

Wenn du ein Programm geschrieben hast mit Webbrowser kannst doch auch eins machen mit Webrequests.
Ginge viel einfacher.

Und der Code ist auch nicht grad schön. Warum warten bis er fertig geladen hat?
Dafür gibt es Events.

Ich würd mir das Konzept nochmal genauer überlegen undalles verbessern.

 

 

Ich hatte ja geschrieben, dass ich selbst weiß das der Code nicht der schönste ist. Es soll ja erstmal nur testmäßig probiert werden den Button zu klicken.

Bei einem Webrequest muss ich ja wissen was im Hintergrund alles passiert.

Und da ich keine Rechte habe, kann ich kein zusätzliches Prigramm hinterlegen was mir anzeigt welche Parameter,mit welchen Werten übergeben werden etc.

 

 

 

MfG



#5
n1nja

n1nja

    1337

  • Premium Member
  • Likes
    140
  • 303 Beiträge
  • 84 Bedankt
  • Android [root], iPhone
  • Windows, Linux, Mac OS
Ich würd das eher andersrum sehen.
Beim Request weist du genau was passiert.
Beim Browser eben nicht.

Vorallem warum versucht du nicht den Browser
per Process zu starten?
Da hast hinterher das Handle und kannst damit arbeiten.

#6
<Kevin>

<Kevin>

    Pentester

  • Premium Member
  • Likes
    11
  • 104 Beiträge
  • 6 Bedankt
  • Android
  • Windows

Um Informationen auszulesen benutzt man üblicherweise Regex.

Vom Webbrowsercontrol würde ich dringend abraten.


Wenn Du die Seite nennen würdest, könnte ich (bzw. wir) dir sicher besser helfen.



#7
Born2Hack

Born2Hack

    = B2H =

  • Elite Member
  • Likes
    369
  • 208 Beiträge
  • 416 Bedankt

Ich glaube du verstehst nicht so ganz was ein HttpWebRequest ist. Informiere dich bitte erstmal über die POST/GET (php)  Funktion. 

Wie Daten von webseiten überhaupt

weitergegeben werden. Damit du es dann in vb.net umsetzen kannst.

Ich würde dir auch raten Live HttpHeaders und FireBug zu benutzen um Webseiten zu analysieren. 

Das sind Firefox Addons.

Wenn es bei dir schon daran scheitert den Quellcode auszulesen weil die rechtsklick taste von der website geblockt wird, würde ich von ganz vorn anfangen dir das Wissen und Verstehen anzueignen. 

 

Ps.

Ich glaube jetzt habe ich es verstanden, 

du hast keine Möglichkeit diverse Addons zu installieren um die Headers mitzuschneiden ?

Weil es ein Firmen Rechner ist und eine Intranet Seite ist. Richtig ?


Bearbeitet von Born2Hack, 19 June 2015 - 15:17 Uhr.

q8t3oz6o.png

 

 


#8
n1nja

n1nja

    1337

  • Premium Member
  • Likes
    140
  • 303 Beiträge
  • 84 Bedankt
  • Android [root], iPhone
  • Windows, Linux, Mac OS

Mir fällt da auch noch ein, du brauchst nicht mal nen WebRequest wenn du den Quelltext nur auslesen willst.

Dazu reicht ein simpler WebClient auch aus.






Dieses Thema wurde von 38 Mitglied(ern) gelesen


    <Kevin>, B1nary, Becks, Blackhook, BlackZetsu, Born2Hack, Bot4ng, Caruso, confick.ini, Cube, Cyber Tjak, cyberwhore, ferithan, Flex.Net, Framerater, JigJag, KiiNGDeZz, kiwitone, kollegah25, Lanara, loginman1, lolorollo, Meikyo, Mr_NiceGuy, MrVinc, n1nja, notfound, Onek, PadX18, paulaner, prto, R3s1stanc3, ReBBeL, SkullSplitter, Slixer, smc2014, Take1T, TheUlti
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.