Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Internetseiten auslesen (https://www.delphipraxis.net/115218-internetseiten-auslesen.html)

MrMyagi 8. Jun 2008 16:58

Re: Internetseiten auslesen
 
Jepp, soll nen Router-Rebooter werden.
Ich hoffe wir können die ganze Sache irgendwie leichter mache, wenn
ich Euch sage, das die Seite immer gleich bleibt.
Der erste Button der gedrückt werden soll sieht im Quelltext so aus:

<DIV id=actionbut><input type="button" name="B1" class="stylebut" onclick=confstart("/html/top_start_passwort.htm") onmouseover=highlight(true) onmouseout=highlight(false) value="&gt;&gt;Konfiguration starten"></DIV>

Wie mache ich es nun, dass dieser gedrückt wird?


mfG, Nico

MrMyagi 8. Jun 2008 17:40

Re: Internetseiten auslesen
 
Keiner eine Idee??

Fussball-Robby 8. Jun 2008 18:00

Re: Internetseiten auslesen
 
Ich hab dir doch im Post #7 schon einige Stichwörter gesagt. Du kannst sie dir ja wenigstens mal angucken :?

MrMyagi 9. Jun 2008 15:49

Re: Internetseiten auslesen
 
Wie mache ichn das dann zb wenn ich einen Button mit dem Namen B1 drücken will.
Also jetzt nach dem Prinzip wie in #7 beschrieben?

r29d43 9. Jun 2008 16:46

Re: Internetseiten auslesen
 
Also das mit dem javascript und diesem "getElementsByName" führt jetzt event. doch etwas zu weit weg.

Stattdessen versuch es doch z.B. mal mit dieser einfachen (Delphi-)Zeile:

Delphi-Quellcode:
webbrowser1.oleobject.document.forms.item(0).elements.item('B1').click;
Leider ist ja der von dir angegebene HTML-Code etwas kurz. Daher kann man auch nicht sehen, auf welcher "forms" dieser Button angesiedelt ist. Ich vermutete jetzt mal "forms.item(0)". Klappts nicht, dann kannst du da (bei forms.item(0)) auch statt der 0 mal eine 1 o. 2 einfügen.

MrMyagi 9. Jun 2008 16:49

Re: Internetseiten auslesen
 
also her is der Quellcode: Es handelt sich um den Button status

<html>
<head>
<title>HTML-Konfiguration</title>
<SCRIPT language="JavaScript" src="/cgi-bin/webcm?getpage=../html/js_top.txt" type="text/JavaScript"></SCRIPT>
<SCRIPT language="JavaScript">
<!--
function chk(){
document.getElementById("startseite").style.visibi lity = "visible";
document.getElementById("status").style.visibility = "visible";
document.getElementById("budget").style.visibility = "visible";
if (screen.width < 800 || screen.height < 600){
document.getElementById("cTextChg").innerHTML = "

Die soeben durchgef&uuml;hrte System&uuml;berpr&uuml;fung hat ergeben,
" +
"dass ihr Bildschirm nicht die minimal erforderliche Auflösung hat.</p>" +
"

Bitte stellen Sie mindestens eine Auflösung von 800x600 Pixeln ein
" +
"und rufen Sie dann das Konfigurationsprogramm erneut auf.
" +
"
</p>";
}
else{
document.getElementById("cTextChg").innerHTML = "

Für die erfolgreiche Konfiguration Ihres Routers empfehlen wir " +
"Ihnen dringend die Verwendung eines der oben aufgeführten Browser!
" +
"
</p>";
document.getElementById("actionbut").style.visibil ity = "visible";
}
}
//-->
</SCRIPT>
<LINK rel="stylesheet" href="/html/top_style.css" type="text/css">
<STYLE type="text/css">
<!--
#startseite {color:#FFFFFF; background-color:#E20074; border-color: #FFFFFF;}
#status {color: #666666; background-color:#EEEEEE; border-color: #666666;}
#budget {color: #666666; background-color:#EEEEEE; cursor: pointer; cursor: hand; border-color: #666666;}
//-->
</STYLE>
</head>
<body onload=chk()>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
<tr>
<td valign="middle" align="center">
<table border="1" cellpadding="0" cellspacing="0" height="484" width="644" background="/html/pic_welcome.jpg">
<tr>
<td valign="top">
[img]/html/pic_welcome_b.gif[/img]
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<form name="F1">
<td width="150" valign="top">




<DIV id=startseite>&gt;&gt;Startseite</DIV></p>


<DIV id=status onclick=gotosite("/html/top_status.htm") onmouseover=rahmen("status",1) onmouseout=rahmen("status",0)>&gt;&gt;Status</DIV></p>


<DIV id=budget onclick=gotosite("/html/top_budget.htm") onmouseover=rahmen("budget",1) onmouseout=rahmen("budget",0)>&gt;&gt;Budget</DIV></p>
</td>

<td valign="top">
<DIV id=cBorderTxt>
<DIV id=cText>




Willkommen im Konfigurationsprogramm!</p>


Das Konfigurationsprogramm wurde für folgende Browser optimiert:</p>


[*]Internet Explorer ab Version 5.5[*]Firefox ab Ver. 0.9 / Mozilla ab Ver. 1.7 / Netscape ab Ver. 7.1[*]Opera ab Version 8</p>
</DIV>
<DIV id=cTextChg>


Die soeben durchgef&uuml;hrte System&uuml;berpr&uuml;fung hat ergeben,

dass in Ihrem Browser die Javascript-Funktion deaktiviert ist.</p>



Bitte aktivieren Sie in Ihrem Browser die Javascript-Funktion

und rufen Sie dann das Konfigurationsprogramm erneut auf.


</p>
</DIV>
</DIV>
<DIV id=actionbut><input type="button" name="B1" class="stylebut" onclick=confstart("/html/top_start_passwort.htm") onmouseover=highlight(true) onmouseout=highlight(false) value="&gt;&gt;Konfiguration starten"></DIV>
</td>
</form>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

r29d43 9. Jun 2008 17:00

Re: Internetseiten auslesen
 
Da sich in deinem HTML-Code folgende Zeile

<form name="F1">

befindet, liegt der Button "B1" also auf einer "form" deren Name "F1" ist,
...und ergo müsste die obige Delphi-Zeile daher dann so lauten:

Delphi-Quellcode:
webbrowser1.oleobject.document.forms.item('F1').elements.item('B1').click;

MrMyagi 10. Jun 2008 13:21

Re: Internetseiten auslesen
 
Ok, danke das mit "B1" geht jetzt,
jedoch finde ich keinen passenden Namen zu dem Button Status (status ist es nicht)
Welcher könnte dieser sein?? (quelltext weiter oben)

Edit:
Müsste es nicht normalerweise sogar mit

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
webbrowser1.OleObject.getelementbyid('status').click;
end;
gehen, da dies auch in html Quelltext vorkommt:

...function chk(){
document.getElementById("startseite").style.visibi lity = "visible";
document.getElementById("status").style.visibility = "visible";
document.getElementById("budget").style.visibility = "visible";
if (screen.width < 800 || screen.height < 600)...

mfG, Nico

r29d43 10. Jun 2008 16:58

Re: Internetseiten auslesen
 
"status" scheint hier eher nur ein Link zu sein, ...welcher im HTML-Code, wenn die Maus draufclickt, dann per JavaScript aufgerufen wird.

Da die Adressen solcher Links aber meistens eher konstant sind, würde ich die jetzt also zuerst im HTML-Code auslesen und dann einfach per WebBrowser.Navigate dorthin navigieren.


(..kann aber durchaus sein, dass es hier noch bessere Lösungen gibt. Bin hier leider auch nur Laie :( )

MrMyagi 10. Jun 2008 17:21

Re: Internetseiten auslesen
 
Zitat:

Da die Adressen solcher Links aber meistens eher konstant sind, würde ich die jetzt also zuerst im HTML-Code auslesen und dann einfach per WebBrowser.Navigate dorthin navigieren.
Japp, hast recht, dort kann ich auch mit navigate hinkommen.
Nun allerdings erscheint dort ein Feld, wo ich normalerweise immer das PW eingebe.
HAb schon alles mögliche versucht mit .value usw jedoch trägt er dort nichts ein
in das Editfeld.
Wie müsste der Code denn dafür aussehen?

Bild(möchte eine Eingabe in das Editfeld machen und hinterher den Button OK klicken):
http://operationsinnlos.op.funpic.de/Bild.JPG

Quellcode von dem Ausschnitt:

<HTML>
<HEAD>
<TITLE>Startseite</TITLE>
<SCRIPT language="JavaScript" src="/html/js_menu.txt" type="text/JavaScript"></SCRIPT>
<SCRIPT language="JavaScript">
<!--
var verz = 2000;
function OnLoad()
{
top.frames[1].location.href = "/html/m_start_passwort.htm";
}
function stVerg()
{
document.location.href="/html/vergessen.html";
}
function chk_pwd(){
document.PWD.submit();
}
function stEnter(){
if (window.event.keyCode==13){
chk_pwd();
}
}
function stBak(){
document.PWD.P1.disabled = false;
document.PWD.P1.style.backgroundColor="#FFFFFF";
document.PWD.P1.value = "";
document.PWD.P1.focus();
verz *= 2;
}
function stEnd(){
top.window.close();
}
//-->
</SCRIPT>
<LINK rel="stylesheet" href="/html/style.css" type="text/css">
<STYLE type="text/css">
<!--
#t_but1 {
/* visibility: hidden;*/
}
//-->
</STYLE>
</HEAD>
<BODY onLoad="OnLoad()">
<DIV id=c_Frame>
<DIV id=c_border>
<DIV id=c_pfad>Router - Einstieg in die Konfiguration</DIV>


<DIV id=c_titel>Passwort Eingabe</DIV>
<form name="PWD" method="POST" action="/cgi-bin/webcm">
<input type="hidden" name="getpage" value="../html/hcti_startseite.htm" />
<DIV id=c_last>
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="120"><input type="password" class="stylepwd" name="login:command/password" size="12" maxlength="12" /></td>
<td></td>
</tr>
</table>
</DIV>
</form>
<DIV id=c_leer></DIV>
<DIV id=c_foot></DIV>
</DIV>
</DIV>
<DIV id=t_Frame>
<DIV id=t_but1 onclick=stEnd() onmouseover=rahmen(1,1) onmouseout=rahmen(0,1)>Beenden&lt;&lt;</DIV>
<DIV id=t_but2 onclick=stVerg() onmouseover=rahmen(1,2) onmouseout=rahmen(0,2)>Vergessen&lt;&lt;</DIV>
<DIV id=t_but4 onclick=chk_pwd() onmouseover=rahmen(1,4) onmouseout=rahmen(0,4)>&gt;&gt; OK</DIV>
</DIV>
<DIV id=i_Frame>
<DIV id=i_content>

<h2>Passwort Eingabe</h2>


Der Zugang zu den Router - Konfigurationsdaten wird durch ein Passwort geschützt.</p>


Geben Sie das Passwort ein und bestätigen Sie mit OK.</p>


Wenn Sie das Passwort vergessen haben, können Sie innerhalb der ersten 10 Minuten nach einem
Neustart des Routers die Werkseinstellungen wiederherstellen und so das Passwort deaktivieren.</p>
</DIV>
</DIV>
</BODY>
</HTML>



mfG, Nico


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz