Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 18:02

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Auslesen von HTML DIV id aus Browser

Discussion on Auslesen von HTML DIV id aus Browser within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 180
Join Date: Oct 2007
Posts: 191
Received Thanks: 24
Auslesen von HTML DIV id aus Browser

Der Tastaturschreibkurs ist ein Web Service, welches dem Nutzer ermöglicht,
seine Geschwindigkeit und Präzision auf der Tastatur zu verfolgen.
Es werden unterschiedliche Wörter auf dem Bildschirm angezeigt, die in einer
Form eingegeben werden müssen.

Alle Wörter sind laut Quellcode in einem div-Container.

Meine Applikation soll nun alle Wörter aus der Webseite auslesen und sie
in einem Array speichern. Über das Array wird später iteriert, um die Wörter
in die Form einzugeben.

Laut der MSDN Api fand ich die Methode HtmlDocument.GetElementById,
welches vom Nutzen wäre.


Leider finde ich nichts nützliches, um auf die geöffnete Seite zuzugreifen und
das Element auszulesen.
Hier ist noch zu sagen, dass ich es nicht im Web Browser Objekt öffnen möchte.

Hat jemand da ein kleinen Rat?

Update:
Im Web Browser Objekt wird auch die Seite nicht richtig geladen (wegen JS error etc.) und die Seite wird
entstellt dargestellt. Das sieht im Programm nicht ordentlich aus, weshalb ich vorerst auf diese Lösung verzichten möchte.
aeo is offline  
Old 06/12/2017, 19:29   #2
 
MrFifaUltimate's Avatar
 
elite*gold: 0
Join Date: Feb 2017
Posts: 169
Received Thanks: 28
Kannst eventuell ne GET-Anfrage, zum Beispiel mit restSharp, stellen und die Rückgabe dann mit ner RegEx auseinandernehmen. Schön ist es nicht, aber kenne gerade keine einfachere Methode, da du den Webbrowser nicht nutzen willst. Gibt aber sicher auch fertige HTML-Parser.
MrFifaUltimate is offline  
Old 06/12/2017, 19:37   #3
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Webclient Klasse sollte am einfachsten sein. Und dann einfach RegEx. Alternative ist HtmlAgility Pack.
Ludder231 is offline  
Old 06/12/2017, 20:17   #4
 
elite*gold: 180
Join Date: Oct 2007
Posts: 191
Received Thanks: 24
Quote:
Originally Posted by MrFifaUltimate View Post
Kannst eventuell ne GET-Anfrage, zum Beispiel mit restSharp, stellen und die Rückgabe dann mit ner RegEx auseinandernehmen. Schön ist es nicht, aber kenne gerade keine einfachere Methode, da du den Webbrowser nicht nutzen willst. Gibt aber sicher auch fertige HTML-Parser.
Ich habe bereits ein Trace aber sah dass es HTTPS verwendet und ich nicht in
der Lage bin das nun zu Entschlüsseln. Wobei ich einige Referenzen durchgelesen habe, aber leider scheitere an einem bestimmten Punkt.


Quote:
Originally Posted by Ludder231 View Post
Webclient Klasse sollte am einfachsten sein. Und dann einfach RegEx. Alternative ist HtmlAgility Pack.
HtmlAgility sieht sehr schick aus und habe mal geschwind die Beispiele überflogen.
Falls du dich damit auskennst: Kann man damit auch auf ein Inputfield
einer Seite schreiben?
Falls nein, gibt es vllt ne win API mit der ich das kombinieren könnte?

Ich fand leider nichts darüber, wie ich ein Eingabefeld auf einer Webseite mittels C# auswähle und was hinschreibe.



Update

Ich habe gerade nochmal den Trace angeschaut. Die Verbindung ist zwar verschlüsselt, es wird aber bei Eingabe der Wörter keine weitere Anfrage verschickt.
Ich vermute, dass da eher clientseitig rumgefummelt wird.

Update2

Ein Blick auf das Zertifikat:
Garantiert die Identität eines Remotecomputers
Garantiert dem Remotecomputer Ihre Identität
heißt also nicht, dass sie die Verbindung SSL verschlüsseln.
Also hat sich das mit HTTPS auch erledigt.
aeo is offline  
Old 06/12/2017, 21:53   #5
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Mit HtmlAgility Pack kannst du soweit ich weiß nur auslesen. Was du brauchst ist wohl ein kleiner Browser wie Selenium o.ä. den kannst du wenn du willst mit HtmlAgility Pack kombinieren um die Daten auszulesen, jedoch würde ich dir einen einfachen regex empfehlen wenn du nur die Wörter auslesen willst. Den Browser kannst du dann it deinem Programmcode steuern.(Hab ich aber selbst noch nicht mit gearbeitet)
Ludder231 is offline  
Thanks
1 User
Old 06/12/2017, 23:25   #6
 
elite*gold: 180
Join Date: Oct 2007
Posts: 191
Received Thanks: 24
Ich kenne selenium, mir war aber bisher nicht bewusst, dass das auch C# unterstützt.
Ich habe damals einen Streaming-Pythonscript geschrieben, welches automatisch nach Ablauf einer Serie auf bs.** die neue Folge startet.

Aber dir vielen Dank!
aeo is offline  
Old 06/13/2017, 13:04   #7
 
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
Quote:
Originally Posted by dunkis View Post
Ein Blick auf das Zertifikat:
Garantiert die Identität eines Remotecomputers
Garantiert dem Remotecomputer Ihre Identität
heißt also nicht, dass sie die Verbindung SSL verschlüsseln.
Also hat sich das mit HTTPS auch erledigt.
Kannst du diesen Gedankengang noch mal näher erläutern? Wieso schließt du eine SSL Verschlüsselung aus?

HTTPS nutzt immer TLS (ehm. SSL genannt). Daran kann auch das Zertifikat nix ändern.
florian0 is offline  
Thanks
1 User
Old 06/13/2017, 20:04   #8
 
elite*gold: 180
Join Date: Oct 2007
Posts: 191
Received Thanks: 24
Quote:
Originally Posted by florian0 View Post
Kannst du diesen Gedankengang noch mal näher erläutern? Wieso schließt du eine SSL Verschlüsselung aus?

HTTPS nutzt immer TLS (ehm. SSL genannt). Daran kann auch das Zertifikat nix ändern.
sorry, es war spät und die formulierung war definitiv nicht präzise.
die seite nutzt und verschlüsselt zwar die verbindung, doch die tastatureingaben werden clientseitig überprüft. deshalb schließe ich das mit http/https aus.

es wird daher bei der eingabe von falschen/richtigen wörtern kein paket über die ssl verbindung geschickt.

nochmals sorry. ich war einfach zu müde und im kopf schien ich irgendwie schon den nächsten satz zu schreiben.
aeo is offline  
Old 06/17/2017, 11:46   #9
 
saixo's Avatar
 
elite*gold: 0
Join Date: Oct 2014
Posts: 602
Received Thanks: 369
hmm hattte auch mal das js problem im eigenen browser. Kann dir leider nicht mehr sagen wie ich es gelöst hatte. War aber ziemlich schnell mit google erledigt ^^

HtmlAgilityPack + Browser ist schon mal ein guter Ansatz, aber keine feine Art dies umzusetzen. Muss das ganze eig mit c# gemacht werden oder bist du was sprachen angeht offen?

Aber da man mit dem normalen webbrowser control eigentlich auf den IE explorer zugreift kann ich mir vorstellen dass du das was du brauchst noch im IE aktivieren musst
saixo is offline  
Old 07/04/2017, 10:51   #10
 
elite*gold: 150
Join Date: Feb 2016
Posts: 602
Received Thanks: 62
Quote:
Originally Posted by dunkis View Post
Der Tastaturschreibkurs ist ein Web Service, welches dem Nutzer ermöglicht,
seine Geschwindigkeit und Präzision auf der Tastatur zu verfolgen.
Es werden unterschiedliche Wörter auf dem Bildschirm angezeigt, die in einer
Form eingegeben werden müssen.

Alle Wörter sind laut Quellcode in einem div-Container.

Meine Applikation soll nun alle Wörter aus der Webseite auslesen und sie
in einem Array speichern. Über das Array wird später iteriert, um die Wörter
in die Form einzugeben.

Laut der MSDN Api fand ich die Methode HtmlDocument.GetElementById,
welches vom Nutzen wäre.


Leider finde ich nichts nützliches, um auf die geöffnete Seite zuzugreifen und
das Element auszulesen.
Hier ist noch zu sagen, dass ich es nicht im Web Browser Objekt öffnen möchte.

Hat jemand da ein kleinen Rat?

Update:
Im Web Browser Objekt wird auch die Seite nicht richtig geladen (wegen JS error etc.) und die Seite wird
entstellt dargestellt. Das sieht im Programm nicht ordentlich aus, weshalb ich vorerst auf diese Lösung verzichten möchte.
Könntest du mir den Link der Seite zukommen lassen? Würde gerne rumprobieren
Schon nervig genug das ich das mit Ins'tagr'am zB nicht hinbekommen habe, da die iwie den "auto fill" javascript seitig blockieren.. geht bei mir auch nur im virtual os mit sendkeys xD so traurig! (Keine bessere Lösung gefunden)
Moope is offline  
Reply


Similar Threads Similar Threads
[Selling] Eloboost offer 7€/div-silver,10€/div-gold,18€/div-plat,28€/div-dia DONE BY CHALLENGER
06/05/2016 - League of Legends Trading - 75 Replies
Main Account: http://screenshu.com/static/uploads/temporary/kx/ tl/mp/jhro0v.jpg Vouchgames: http://i.imgur.com/Pat5pzh.png http://i.epvpimg.com/bhcrd.png http://i.epvpimg.com/IAxpg.png http://i.epvpimg.com/NTcge.png
[Selling] BOOSTING SALE BRONZE 3€ DIV/SILVER 5€ DIV/GOLD 7,5€ DIV/PLATINUM 10€ DIV.
07/26/2015 - League of Legends Trading - 2 Replies
hey i got some discount till diamond 5 prices are bronze 3 euro divsion promos 4 euro silver 5 euro divsion promos 6 euros



All times are GMT +1. The time now is 18:04.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.