PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java Skript Code einer Internetseite starten?


pajofego
2005-09-27, 23:48:03
Hallo Leute,

z.Zt. versuche ich mich an etwas Neuem...und zwar möchte ich Information einer Internetseite auslesen. Das mache ich mit C# und .NET mit WebRequest und WebResponse ganz erfolgreich. Wenn in einer Seite ein Stück javascript zum starten von irgendetwas steht (z.B. ein Klickergeignis), kann ich diesen code, von meiner Applikation aus starten? Wenn ja, könnt ihr mir sagen wie das prinzipiell geht?

Danke

Gruß

pajofego

MeLLe
2005-09-28, 07:36:55
Im Prinzip kann dir der JavaScript-Code egal sein - der Server "bemerkt" eh nicht ob dein Client ihn ausführt, und schickt dir immer das selbe. Interessant wäre höchstens Code, der dich woanders hin navigiert - aber da brauchste ja nur den Code "ein wenig" zu parsen (d.h. das was für dich interessant ist "ausführen" und den Rest ignorieren).

Alle Klarheiten beseitigt? ;)

pajofego
2005-09-28, 18:28:08
:confused:

Habe das glaube ich, nicht so richtig verstanden!

Wenn ich den HTML Code parse, dann kann ich den für mich interessierenden java Funktionsrumpf auslesen und den dann ggf. ausführen? Habe ich dich richtig verstanden? Und wenn ja, wie?

Gruß

pajofego

Trap
2005-09-28, 18:42:10
Das kann beliebig kompliziert werden, siehe z.B. http://www.activewidgets.com/examples/grid/basic.htm (da sind noch feste Werte drin, genausogut könnten die aber berechnet werden)

Entweder du hackst was zusammen was für die Seiten funktioniert die du brauchst oder du nimmst einen Browser und benutzt den um die Daten in ein für dich verarbeitbares Format umzuwandeln.

Coda
2005-09-28, 18:46:22
Naja du bräuchtest dazu einen JavaScript Interpreter...

Trap
2005-09-28, 18:50:45
Naja du bräuchtest dazu einen JavaScript Interpreter...
Mit http://www.w3.org/DOM/ , sonst funktionieren nur trivialste Sachen

pajofego
2005-09-28, 20:43:13
Ehrlich gesagt ist es auch - glaube ich trivial - nur wissen bzw. verstehen tue ich es noch nicht, ob es

a) überhaupt geht?
b) wenn's geht wie?

Mein Ziel ist es auf dieser (http://www.handelsblatt.de/pshb?fn=relhbi&sfn=buildhbi&SH=0&depot=0&cn=cn_wp1_history&wp1_pat=W0052C1.MDP&strucid=200007&pageid=200023&cnct=0&strucid=200007&pageid=200023&wp1_day=27&wp1_month=09&wp1_Year=2005&wp1_time=23%3A59&wp1_Step=2&wp1_maxhl=100&AKTUALISIEREN.x=51&AKTUALISIEREN.y=11) Seite auf den Code, der hinter "Zwischenablage" steht auszuführen und dann die Zwischenablage auszulesen. Auchtung, die Option "Zwischenablage" sieht man nur, wenn man die Seite im IE aufmacht.

Gruß

pajofego

Köppchen
2005-09-28, 20:43:29
Wenn in Java wäre würde ich sagen versuchs mal mit Rhino (http://www.mozilla.org/rhino/download.html).
Aber vielleicht gibt es inzwischen einen C# Port. Kannst ja mal danach suchen.

HTH Markus

Trap
2005-09-28, 21:32:14
Wozu brauchst du da das JavaScript, das hat doch genau die gleichen Daten wie sie im HTML schon drin sind?

Das relevante Zeug:
<script language="Javascript">myl='11.08.2005';</script>
11.08.2005
</td>
[...]
<td class="wp1-line1" align="right">
<script language="Javascript">myl+='\t0';</script>
0</td>
</tr>
<script language="Javascript">
clip += myl+'\r\n';
</script>

pajofego
2005-09-28, 21:39:49
Wozu brauchst du da das JavaScript, das hat doch genau die gleichen Daten wie sie im HTML schon drin sind?

Das relevante Zeug:
<script language="Javascript">myl='11.08.2005';</script>
11.08.2005
</td>
[...]
<td class="wp1-line1" align="right">
<script language="Javascript">myl+='\t0';</script>
0</td>
</tr>
<script language="Javascript">
clip += myl+'\r\n';
</script>


Ja,

da gebe ich dir recht! Ich wollte nur vermeiden, das ganze Zeug zu parsen...über die Zwischenablage steht's schon so wie ich es gerne hätte, ohne die ganzen html Befehle o.ä. Ich denke das wäre weniger Programmieraufwand...dachte ich!

Gruß

pajofego

Trap
2005-09-28, 21:47:31
Du könntest den IE über COM oder OLE irgendwie dazu überreden das zu machen. Da hab ich allerdings keine Ahnung von, ich könnte nichtmal schätzen wieviel Arbeit das ist.

http://msdn.microsoft.com/workshop/browser/WebBrowser/WebBrowser.asp

MeLLe
2005-09-28, 21:47:57
Wozu brauchst du da das JavaScript, das hat doch genau die gleichen Daten wie sie im HTML schon drin sind?
Genau!

Die Daten liegen zeilenweise in dieser Form
<tr>
<td class="wp1-line1">
<script language="Javascript">myl='27.09.2005';</script>
27.09.2005
</td>
<td class="wp1-line1" align="center">
<script language="Javascript">myl+='\t62,58';</script>
62.58
</td>
<td class="wp1-line1" align="center">
<script language="Javascript">myl+='\t63,32';</script>
63.32
</td>
<td class="wp1-line1" align="center">
<script language="Javascript">myl+='\t62,58';</script>
62.58
</td>
<td class="wp1-line1" align="center">
<script language="Javascript">myl+='\t62,58';</script>
62.58
</td>
<td class="wp1-line1" align="right">
<script language="Javascript">myl+='\t0';</script>
0</td>
</tr>
vor.

Was du tun musst ist nur die WebResponse nach solchen "Zeilen" zu durchstöbern, und dann entsprechend die Nutzdaten rauszuparsen.
Ohne JavaScript, natürlich.

Ansonsten schnappste dir das Webbrowser-Control, lässt es die Seite laden, lässt es auf den Link klicken und nutzt die Zwischenablage in deiner Anwendung.

pajofego
2005-09-28, 21:53:25
Ich werfe mal hier (http://www.codeproject.com/csharp/webbrowser.asp) einen Blick, vielleicht ist es nicht so aufwendig. Ansonsten parse ich halt das Zeug...

Danke für eure Anregungen

Gruß

pajofego