Announcement

Collapse
No announcement yet.

Hilfe: WebsiteButton klicken

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe: WebsiteButton klicken

    Hallo an alle,
    ich hoffe sehr, dass mir hier jmd helfen kann!

    Es geht darum den Button einer Website klicken zu lassen.
    Ich habe mir gedacht, dass es mit dem WebBrowser am einfachsten geht.

    Die Seite ist übrigens drei.to
    und es geht um den "Datei Herunterladen" - Button.
    (Klick Beispiel)

    Im Quelltext findet man zum Button folgendes:

    Code:
    	  <div id="captcha_space">
    		<p style="font-size:11px;font-weight:bold;text-align:center;">
    		  <input type="submit" value="Datei herunterladen" style="background-color:#F3F3F3; font-weight:bold; padding:5Px; border:1px solid black;" onClick="javascript: showCaptcha();" />
    		</p>
    	  </div>
    Deshalb habe ich folgendes schon versucht:

    Code:
    WebBrowser1.Document.GetElementById("captcha_space").InvokeMember("submit")
    Bringt jedenfalls nichts. Bitte helft mir :P !

  • #2
    Der Button wird doch nicht mit captcha_space angesprochen, sondern das umgebende DIV. Da der Button keinen Namen hat, wirst du wohl nur indirekt darauf zugreifen können
    Christian

    Comment


    • #3
      Und wie greife ich dann indirekt drauf zu ? Wie meinst du das?
      Danke

      Comment


      • #4
        http://msdn.microsoft.com/en-us/libr...t_methods.aspx

        bsp. über die Position

        Wozu überhaupt der Aufwand? Wie willst du das Captcha umgehen?
        Christian

        Comment


        • #5
          Hier im Quelltext ist noch die Function dazu:

          Code:
          	  function showCaptcha() {
          		document.getElementById("captcha_space").innerHTML = ''+
          		  ' <div class="captcha">'+
          			' <img src="/index.php?action=captcha&entry_id=5621867&key=8de98dd50c2842a6fe0c73f16cde93a9" width="453" height="170" />'+
          		  ' </div>'+
          		  ' <div class="center">'+
          			' <div class="captcha_answer">'+
          			  ' <form action="/download/5621867/White_Apple_Tree_-_Snowflakes/out.html" method="post" target="_self" onsubmit="if(document.getElementById(\'answer\').value == \'\') { alert(\'Bitte beantworte zuerst die Sicherheitsfrage...\'); return false; } ">'+
          				' <p style="font-size:11px;font-weight:bold;text-align:center;">'+
          				  ' Name: <input type="text" name="answer" id="answer" />'+
          				' </p>'+
          				' <p style="font-size:11px;font-weight:bold;text-align:center;">'+
          				  ' <input type="submit" value="Datei herunterladen" style="background-color:#F3F3F3; font-weight:bold; padding:5Px; border:1px solid black;" />'+
          				' </p>'+
          			  ' </form>'+
          			' </div>'+
          		  ' </div>'+
          		' ';	
          		document.getElementById("download_button").style.display = "none";
          
          	  }
          Ich möchte das Captcha nicht umgehen. Ich möchte das aktuelle Captcha Bild in mein Programm laden, und es eingeben. Dann wieder zurückgeben und mit dem Button "Datei Herunterladen" auf der Seite bestätigen lassen.

          Edit:
          Achja über die Position wäre ziemlich schlecht. Wechseln die Downloads, so wechselt auch die Länge der Beschreibungen und der Button ist somit weiter unten auf der Seite.

          Comment


          • #6
            hmmm, so ?


            [highlight=vbnet]
            Dim allelements As HtmlElementCollection = WebBrowser1.Document.All
            For Each webpageelement As HtmlElement In allelements

            If webpageelement.GetAttribute("value") = "Datei herunterladen" Then

            webpageelement.InvokeMember("click")
            End If
            Next
            [/highlight]
            --------------------------------------------------------
            Signatur im Brandfall nicht benutzen !

            Comment


            • #7
              Vielen Dank, das hat geklappt und ist nicht so kompliziert ! Super

              Comment

              Working...
              X