Archief - VB.NET - Submit knop op website drukken.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Dellipop

Legacy Member
Ik wil dus een programma maken maar je moet ervoor een submit knop op een website indrukken... Ik zou graag willen dat hij dat automatisch doet als je op een knop duwt in het programma...

Het gaat over de submit knop van deze website:
TubeGrip - Online YouTube Downloader - Download Videos
(De download knop)

Dit is mijn code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Document.GetElementById("url").SetAttribute("value", (TextBox1.Text))
WebBrowser1.Document.GetElementById("Wat moet ik hier invullen?").InvokeMember("submit")
End Sub
End Class

Met die textbox1.text invullen op de website werkt ... Maar de download knop indrukken werkt niet..
Weet iemand hoe het wel zou lukken? Of een andere site waarmee het beter lukt om youtube films te downloaden vanuit een prog..?

Dellipop

Legacy Member
Dim q As New Point(78, 22)
WebBrowser1.Document.GetElementById("url").SetAttribute("value", (TextBox1.Text))
WebBrowser1.Document.GetElementFromPoint(q).InvokeMember("submit")

Mischien lukt dit, maar hoe weet ik dan de locatie van de knop op die website :S

Akseeel

Legacy Member
Hmm het zou makkelijker zijn als je dmv javascript getelementsbyclassname("submit")[0] zou doen
wat ik , terwijl ik de classname aan het zoeken was heb gevonden is hoe je die link decodeert ;)


Heb php highlighting gebruikt loll
PHP:
function utf8_decode ( str_data ) {
    var tmp_arr = [], i = 0, ac = 0, c1 = 0, c2 = 0, c3 = 0;

    str_data += '';

    while ( i < str_data.length ) {
        c1 = str_data.charCodeAt(i);
        if (c1 < 128) {
            tmp_arr[ac++] = String.fromCharCode(c1);
            i++;
        } else if ((c1 > 191) && (c1 < 224)) {
            c2 = str_data.charCodeAt(i+1);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
            i += 2;
        } else {
            c2 = str_data.charCodeAt(i+1);
            c3 = str_data.charCodeAt(i+2);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }
    }

    return tmp_arr.join('');
}

Dellipop

Legacy Member
Weet niks over java... of toch niet veel... maar zou het ook mogelijk zijn in vb? Of alleen in java?

Mattx

Legacy Member
Die submit knop heeft geen id dus kan je niet met getElementById zoeken, maar ik heb dit gevonden:

Code:
Elems = WebOC.Document.GetElementsByTagName("input")

For Each elem As HtmlElement In Elems
	Dim NameStr As String = elem.GetAttribute("value")

	If ((NameStr IsNot Nothing) And (NameStr.Length <> 0)) Then
		If NameStr.ToLower().Equals("download") Then
		
			elem is de submit button
			
		End If
	End If
Next

Die loopt dus door alle input elementen en zoekt de Submit knop door te kijken of de tekst "Download" is.
Daar kan je dan die InvokeMember op proberen. Ik weet niet of je ook echt een bestand kan downloaden door zo'n browser, ik denk het eigenlijk niet, maar je kan proberen.

Dellipop

Legacy Member
Ik heb de pagina gedownload en geopend in dreamweaver, daar heb ik de knop een ID gegeven en op eigen website geplaatst :) nu werkt het... Bedankt allemaal : )

Akseeel

Legacy Member
Javascript is géén java
maar het downloaden zelf gebeurt idd in java :P
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan