Danke für die Antwort. Es hat funktioniert und ist genau das, was ich wollte. arHer
Beiträge von arHer
-
-
Hier ist die URL.
http://www.astrouw.edu.pl/asas/?page=aasc
Ich möchte in das Textarea "coo" Koordinaten eingeben. Ich habe ein AutoIt Programm, das 5 Webseiten nach Daten abfragt. Bei anderen Webseiten gelingt mir die Eintragung der Koordinaten und die Abfrage ohne Probleme.
Ich danke dir fürs mitmachen, dieses Forum ist sehr gut. -
Danke für die Hinweise. Aber:
$oForm = _IEFormGetCollection($oIE, -1)
$oQueryID = _IEFormElementGetCollection($oForm, -1)beseitigt zwar den Fehler bei _IEFormGetCollection($oIE, -1), dafür kommt folgender Fehler:
--> IE.au3 T3.0-2 Error from function _IEFormElementGetCollection, $_IESTATUS_InvalidObjectType
Auch andere Indizes bei _IEFormElementGetCollection($oForm, -1) zeigen immer Fehler.Auch deinen 2. Hinweis habe ich getestet: die For .. In .. Schleife wird nicht durchlaufen (MsgBox wird nicht aufgerufen). Eine Warnung oder einen Fehler gibt es nicht.
$oCollection=_IETagNameGetCollection($oIE,"textarea")
For $oObj In $oCollection
MsgBox($MB_SYSTEMMODAL, "Show:", $oObj.Name )
If $oObj.Name = "coo" and $oObj.Rows = 4 and $oObj.Wrap = "virtual" Then
;$oObj wäre dann <textarea>
_IEFormElementSetValue($oObj,"TEST")
EndIf
NextMir scheint, dass beide Wege nicht zu Ziel führen. Falls es hilft, kann ich auch die URL der Website bekannt geben, sie ist nicht privat.
Ansonsten bin ich ratlos. -
Danke für die Hinweise:
$oTextarea = _IEGetObjByName($oIE, "coo")
_IEFormElementSetValue($oTextarea, "desired text")
Liefert:
--> IE.au3 T3.0-2 Warning from function _IEGetObjByName, $_IESTATUS_NoMatch (Name: coo, Index: 0)
--> IE.au3 T3.0-2 Error from function _IEFormElementSetValue, $_IESTATUS_InvalidDataTypeDann habe ich probiert:
$oCoo=_IETagNameGetCollection($oIE,"ROWS=4")
_IEFormElementSetValue ($oCoo,"TEST")Liefert folgenden Fehler:
--> IE.au3 T3.0-2 Error from function _IEFormElementSetValue, $_IESTATUS_InvalidObjectType
Hier scheint das _IETagNameGetCollection zu funktionieren. $oCoo sollte eine Objektvariable sein und _IEFormElementSetValue braucht eine solche. Was daran falsch? -
Ich möchte Text in ein Formular eingeben, dafür brauche ich einen Zeiger auf das Element.
Die Sequenz$oIE = _IECreate ("... ")
$oForm = _IEFormGetCollection($oIE, 0)
...
funktioniert bei allen von mir getesteten Webseiten ( oder mit _IEFormElementGetObjByName ($oIE, "...") ).
Aber: Die Website mit folgendem Code gibt keinen Zieger zurück. Es wird folgende Warnung ausgegeben:
"IE.au3 T3.0-2 Warning from function _IEFormGetCollection, $_IESTATUS_NoMatch"Hier der Quellcode der Website
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=utf-8">
<META HTTP-EQUIV="Content-Language" CONTENT="en">
<link rel="stylesheet" type="text/css" href="aasc.css">
<TITLE>ASAS Catalog</TITLE>
</HEAD>
<BODY><form ACTION='http://www.astrouw.edu.pl/cgi-asas/asas_cat_input' METHOD=POST TARGET="data_list">
<table class="aasc">
<tr>
<td style='padding-right: 10px;'>
Source:<br>
<input type='radio' name='source' value='asas3' CHECKED>V-band (ASAS-3)<br>
<input type='radio' name='source' value='asas2' >I-band (ASAS-2)<br>
</td>
<td style='padding-right: 10px;'>
<TEXTAREA NAME='coo' ROWS=4 COLS=30 WRAP=virtual ></TEXTAREA>
</td><td>
Eqnx<br>
N > <br>
r <
</td><td style='padding-right: 10px;'>
<INPUT NAME=equinox VALUE=2000 SIZE=4><br>
<INPUT NAME=nmin VALUE=4 SIZE=4><br>
<INPUT NAME=box VALUE=15 SIZE=4> arcsec
</td>
td>
<INPUT TYPE=submit NAME=submit VALUE="Search" >
</td></tr>
</table>
</form>Frage: Wie bekomme ich einen Zeiger auf das <TEXTAREA NAME='coo' ...>? Ich möchte dort Text eingeben