_IE Fragen?

  • hi leute,

    ich habe _IE entdeckt und die möglichkeiten sind genial nur leider blicke ich nicht ganz durch wie ich sie korrekt einsetzen kann:

    Ausgangssituation:
    ein bereits offenes IE-Fenster, Cursor befindet sich in einem inputfeld. Neben dem Inputfeld befindet sich ein gif-button den ich mittels _IE klicken möchte.
    Hier der Code-Auschnitt (es handelt sich um src="images/loadfile.gif"):

    Code
    <tr>
    <td class=stdfont>
    Mastersgame:
    </td>
    <td>
    <input size=30 class=input type=text value="" name="mastersgamename" style="width: 200px;">
    <input type=hidden name="mastersgameid" value="x">
    <a onclick="select_mastersgame();"><img style="CURSOR: hand;" align=absmiddle src="images/loadfile.gif"><a>
    </td>				
    </tr>


    Das Popup welches sich da öffnet möchte ich die Ladezeit berücksichtigen und sobald es geladen ist, möchte ich in diesem Popup einen Link klicken welcher "Athletics" enthält.

    Problem#1:
    für _IEImgClick() brauche ich ja eine $oIE
    -> $oIE = IECreate() ...aber das erstellt ja ein neues Fenster und ich hab schon ein aktives Fenster (geht ned anders)
    also wie erstelle ich meine $oIE-Variable?

    Problem#2:
    wenn ich den button geklickt bekomme, will ich ja die Ladezeit dieses Popups abwarten.
    -> _IELoadWait($oIE) ...wieder die selbe Frage: wie erstelle ich in meinem Fall hier diese $oIE-Variable?

    Problem#3:
    wenn die vorherigen Punkte gelöst sind, möchte ich in dem nun fertig geladenen Popup einen Link klicken. Ein substring für diesen Link-text befindet sich in der Variable $game = "Athletics".
    Allerdings is es kein normaler Link:
    hier der QuellCode dieses Link-Ausschnitts:

    Code
    <tr>
    <td class=linkbold onclick="set_mastersgame(189,'Athletics ');">Athletics (189)</td>
    </tr>

    hoffe meine Fragen sind nicht zu komplex,

    nfg Van

  • Hi,

    wegen der etwas wenigen Details auch eine etwas undetailierte Hilfe ;) .
    Insgesamt ist der jeweils komplette Quellcode hilfreicher ;)

    Zu Problem 1:

    [autoit]


    #include <IE.au3>
    $oIE = _IEAttach ( $s_string [, $s_mode = "Title"] )

    [/autoit]

    Zu Problem 2 und 3:

    [autoit]


    #include <IE.au3>
    $success=_IEImgClick ( ByRef $o_object, $s_linkText [, $s_mode = "src" [, $i_index = 0 [, $f_wait = 1]]] )
    if $success = -1 then
    $oIE2 = _IEAttach ( $s_string [, $s_mode = "Title"] )
    ....

    [/autoit]

    Mehr kann ich zu drittens nicht sagen, weil ich nicht weis was das Klicken auslöst.

    Einmal editiert, zuletzt von jonk (30. November 2006 um 18:07)

  • so um vll noch nen bisschen zu helfen :)
    viel kann ich eigentlich auch nicht dazu sagen alles was nicht ausreichend kommentiert ist steht in der hilfe drinn und mehr dazu weiß ich auch nicht... :rolleyes:

    [autoit]

    ;aus der autoit hilfe(deutsche version)
    ; hier:einfach der versuch den handel des schon aktiven browser fensters zu bekommen um nicht extra
    ; neues fenster zu öffnen...
    AutoItSetOption("WinTitleMatchMode", 4)
    ; Get the handle of the explorer window that contains "i have no idea"
    $opened_oIE = WinGetHandle("explorer","i have no idea")

    [/autoit][autoit][/autoit][autoit]

    $sBaseURL = "http://some-url.com"
    $new_oIE = _IECreate ($sBaseURL,0,0);_IECreate ($sBaseURL,0,1) visible..._IECreate ($sBaseURL,0,0) invisible
    ;_IECreate ($sBaseURL) ebenfalls möglich falls keine besondere einstellung ob sichtbar/nicht sichtbar

    [/autoit][autoit][/autoit][autoit]

    _IEImgClick(ByRef $o_object, $s_linkText, $s_mode = "src", $i_index = 0, $f_wait = 1)
    ;$o_object ist dann entweder $opened_oIE oder $new_oIE je nach dem variablen bennant und browser erzeugt

    [/autoit][autoit][/autoit][autoit]

    _IELoadWait($opened_oIE);je nach dem der browser erzeugt wurde und wie die varibale heißt die von _IECreate() kommt...
    _IELoadWait($new_oIE);wartet bis browser fertig geladen(meist überflüssig da bis jetzt jede IE-funktion
    ;die ich benutzt hab gewartet hat bis fester fertig geladen war..

    [/autoit][autoit][/autoit][autoit]

    _IELinkClickByText(ByRef $o_object, $s_linkText, $i_index = 0, $f_wait = 1);simuliert klick auf link
    ; gleicher kommentar wie bei _IEImgClick

    [/autoit]