jlorenz1 0 Posted January 25, 2007 (edited) Sorry, I've another question to IE.au3. If I opening a webside, filling out a form and if I uploading a file, there will buildt up different websites as result of my uploads. For example: a) a page with the successfully uploaded pictures( Okay - that's no problem ;-)) a page, (with the same title of the windows as before, but with different content that tells me, that a picture with this name already existing.c) a page with is telling me, that the server is too busy, that I should start my uploads a little laterAnd now my questions:How can I recognize these pages per the heading tags <h2> or per the text of their submit buttons?`I've tried some versions of _IETagNameAllGetCollection() and _IETagNameGetCollection(), but I've got the impression that the give me only information of the start page, not of the following page. In the case of they gives me only the 'old' state of submit button of the start page not of the following page.In case I send you source code of the first and the second page(criteria of differences): Johannes * (1.page) no <h2>tags | (2.page line 67) <h2> Warnung</h2>* (1.page line 159) <input tabindex='8' type='checkbox' name='wpIgnoreWarning' id='wpIgnoreWarning' value='true' /> | (2.page line 71)<input type='hidden' name='wpIgnoreWarning' value='1' />expandcollapse popup$oIE = _IECreate('http://de.wikipedia.org/wiki/Spezial:Hochladen'); call a webpage WinWait('Hochladen', '') WinSetState('Hochladen', '', @SW_MAXIMIZE); maximaze the webpage $iVisibleHeight = $oIE.document.body.clientHeight $oIE.document.parentwindow.scrollBy (0, $iVisibleHeight); scroll down the webpage $oForm = _IEFormGetObjByName($oIE, 'Upload') ;********* fill out the form with the help of an ini-file (THIS WORKS FINE)********************** $oInputFile = _IEFormElementGetObjByName($oForm, "wpUploadFile") _IEAction($oInputFile, "focus") If @OSTYPE = 'WIN32_NT' And GUICtrlRead($c13) = $GUI_CHECKED Then BlockInput(1);klö $lese = IniRead(@ScriptDir & '\wikfeder.ini', $i, 'Pfad', 'Fehler') Send($lese) If @OSTYPE = 'WIN32_NT' And GUICtrlRead($c13) = $GUI_CHECKED Then BlockInput(0) $oQuery1 = _IEFormElementGetObjByName($oForm, 'wpDestFile') _IEFormElementSetValue($oQuery1, IniRead(@ScriptDir & '\wikfeder.ini', $i, 'Dateiname', 'Fehler')) $aEL = StringSplit('Beschreibung|Quelle|Seite|Urheber|Datum|Genehmigung|Andere Versionen|Anmerkungen', '|') $sDesc = '{{Information' & @CRLF For $j = 1 To $aEL[0] $sDesc = $sDesc & '|' & $aEL[$j] & '=' & IniRead(@ScriptDir & '\wikfeder.ini', $i, $aEL[$j], 'Fehler') & @CRLF Next $sDesc = $sDesc & '}}' $oQuery3 = _IEFormElementGetObjByName($oForm, 'wpUploadDescription') _IEFormElementSetValue($oQuery3, $sDesc) $oSelect = _IEFormElementGetObjByName($oForm, 'wpLicense') _IEFormElementOptionselect($oSelect, IniRead(@ScriptDir & '\wikfeder.ini', $i, 'GenehmigungII', 'Fehler'), 1, 'byText') If IniRead(@ScriptDir & '\wikfeder.ini', $i, 'Seite beobachten', 'Fehler') = 4 Then $Watch = 0 Else $Watch = 1 EndIf _IEFormElementCheckBoxSelect($oForm, 'wpWatchthis', '', $Watch, 'byIndex') ;********** End of filling out the form ***************************************** $oSubmit = _IEGetObjByName($oIE, "wpUpload") _IEAction($oSubmit, "click") ;uploading picture _IELoadWait($oIE) $iWait = Round((FileGetSize(IniRead('D:\reswikfeder\wikfeder.ini', $i, 'Pfad', 'fehler')) / 1024) / 1.32) ; $iWait is the loading time for analog internetconnection min 20 kbit/per second If $iWait < 10 Then $iWait = 10 $errWinWait = WinWait('Bild:', '', $iWait) ;normaly a webpage with the successfully uploaded picture appears Edited January 25, 2007 by jlorenz1 Hide jlorenz1's signature Hide all signatures Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post] Share this post Link to post Share on other sites
DaleHohm 64 Posted January 25, 2007 $oIE as obtained by _IECreate or _IEAttach is a reference to the browser object rather than to the document contained in it. Most IE.au3 functions operate on documents and their contents rather than the browser, but the functions are written to take a browser object and automatically drill into the current document for you -- in this way you can get the original $oIE object and continue to use it even though the document inside is changing over time. In other words, in almost all cases, the functions will be working with the currently displayed document, not the originally displayed document. If you continue to have trouble I'd suggest taht you simplify the posted script so that it is easier to focus on the question you are asking rather than having to weed through all of the other stuff as well (like the ini file processing). Dale Hide DaleHohm's signature Hide all signatures Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curlMSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object modelAutomate input type=file (Related)Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better?IE.au3 issues with Vista - WorkaroundsSciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Share this post Link to post Share on other sites
jlorenz1 0 Posted January 25, 2007 (edited) $oIE as obtained by _IECreate or _IEAttach is a reference to the browser object rather than to the document contained in it. Most IE.au3 functions operate on documents and their contents rather than the browser, but the functions are written to take a browser object and automatically drill into the current document for you -- in this way you can get the original $oIE object and continue to use it even though the document inside is changing over time. In other words, in almost all cases, the functions will be working with the currently displayed document, not the originally displayed document. If you continue to have trouble I'd suggest taht you simplify the posted script so that it is easier to focus on the question you are asking rather than having to weed through all of the other stuff as well (like the ini file processing). Dale Hi Dale, thanks for your patience. Simplified it is this: ;(page title:"'http://de.wikipedia.org/wiki/Spezial:Hochladen" <input tabindex='8' type='checkbox' name='wpIgnoreWarning' id='wpIgnoreWarning' value='true' />) $oIE = _IECreate('http://de.wikipedia.org/wiki/Spezial:Hochladen'); call a webpage $oSubmit = _IEGetObjByName($oIE, "wpUpload") _IEAction($oSubmit, "click") ;(Next page title:"'http://de.wikipedia.org/wiki/Spezial:Hochladen" State now: <input type='hidden' name='wpIgnoreWarning' value='1' />) How can I get the new state of "wpIgnoreWarning"? Johannes Edited January 25, 2007 by jlorenz1 Hide jlorenz1's signature Hide all signatures Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post] Share this post Link to post Share on other sites
jlorenz1 0 Posted January 25, 2007 Hi Dale, thanks for your patience. Simplified it is this: ;(page title:"'http://de.wikipedia.org/wiki/Spezial:Hochladen" <input tabindex='8' type='checkbox' name='wpIgnoreWarning' id='wpIgnoreWarning' value='true' />) $oIE = _IECreate('http://de.wikipedia.org/wiki/Spezial:Hochladen'); call a webpage $oSubmit = _IEGetObjByName($oIE, "wpUpload") _IEAction($oSubmit, "click") ;(Next page title:"'http://de.wikipedia.org/wiki/Spezial:Hochladen" State now: <input type='hidden' name='wpIgnoreWarning' value='1' />)oÝ÷ Øz0q©ÈëméÞÂËZµêªê- ÞYªçx*ºI¢§ë?ªê-xxjW¶¸vØb³©Î}ùbìnÈy«¢+Ø¥¹±Õ±Ðí%¹ÔÌÐì(ÀÌØí½%ô}% ÉÑ ÅÕ½Ðí¡ÑÑÀè¼½¹Ý¥¥Á¥¹½É½Ý¥¤½MÁ饰é!½¡±¸ÅÕ½Ðì°À°À¤(ÀÌØí½±µ¹ÑÌô}%Q9µ±±Ñ ½±±Ñ¥½¸ ÀÌØí½%¤)½ÈÀÌØí½±µ¹Ð%¸ÀÌØí½±µ¹ÑÌ(%ÀÌØí½±µ¹Ð¹Ñ¹µôÅÕ½Ðí ÈÅÕ½ÐìQ¡¸5Í ½à À°ÅÕ½Ðí±µ¹Ð%¹¼ÅÕ½Ðì°ÅÕ½ÐíQ¹µèÅÕ½ÐìµÀìÀÌØí½±µ¹Ð¹Ñ¹µµÀì HµÀìÅÕ½Ðí¥¹¹ÉQáÐèÅÕ½ÐìµÀìÀÌØí½±µ¹Ð¹¥¹¹ÉQáФ)9á And I got no MsgBox, even there is a <h2> tag in the html source. <h3> is working fine with this script. And how can I get the text of the submit buttons in this offline - page ?? Johannes Hide jlorenz1's signature Hide all signatures Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post] Share this post Link to post Share on other sites
jlorenz1 0 Posted January 25, 2007 Hallo Dale, If I use tagname="ul" I'll get definitly the informations of the first page, even the second page is only loaded. Johannes Hide jlorenz1's signature Hide all signatures Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post] Share this post Link to post Share on other sites
jlorenz1 0 Posted January 25, 2007 Hi Dale, online it works with h2 tag. Johannes Hide jlorenz1's signature Hide all signatures Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post] Share this post Link to post Share on other sites
jlorenz1 0 Posted January 25, 2007 Sorry Dale, it works. My mistake was working with an Offlinepage.. This topic can be closed. Johannes Hide jlorenz1's signature Hide all signatures Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post] Share this post Link to post Share on other sites