Disclaimer akzeptieren

  • hallöchen,

    ich kriegs einfach nicht auf die reihe (wohl wegen grünschnabel-status).
    hier mein code:

    Code
    #include <IE.au3>
    $o_IE1 = _IECreate ("http://www.de.x-markets.db.com")
    _IELoadWait($o_IE1)
    $sText = _IEBodyReadHTML ($o_IE1)
    if StringInStr($sText,"Disclaimer akzeptieren") then
     ... hier hakt es bei mir.
    EndIf
    ... hier dann weiter, falls disclaimer schon mal akzeptiert wurde

    ... hier hakt es bei mir. was muss ich hier tun um "Disclaimer akzeptieren" zu simulieren. _IEClickirgendwas funktioniert nicht, weil es sich wohl um ein java-script handelt ? die if-anweisung muss ich haben, falls einmal der disclaimer akzeptiert wurde, dann wird diese seite nicht mehr angezeigt.

    alternativ könnte ich das fenster maximieren und mit MouseClick ( "left",x,x) rumpriemeln, halte das aber nicht grad für professionell. :shy

    vielen dank schon mal für eure praktischen hinweise.
    gruss exberliner

    EDIT: ups, bin ja schon jungspund :-))

    2 Mal editiert, zuletzt von ExBerliner (8. September 2006 um 23:58)

  • Nabbönd,

    ... getestet und für gut befunden ;) :

    Code
    #include <IE.au3> 
    $o_IE1 = _IECreate ("http://www.de.x-markets.db.com")
    _IELoadWait($o_IE1)
    
    
    $oForm = _IEFormGetObjByName ($o_IE1, "frmdisclaimer")
    $DisclaimerOK = _IEGetObjByName($oForm,"stdiscaccept")
    If $DisclaimerOK <>0 Then
    	$DisclaimerOK.click()
    EndIf
  • @jonk, vielleicht kannst du mir nochmal weiterhelfen. (oder auch gerne jmd. anders aus diesem forum)
    nach dem akzeptieren kommt eine neue seite, da muss ich nun "login" simulieren. ich kriegs einfach nicht auf die reihe. deinen o.g. code kann ich hier nicht anwenden und auch alle_IELinkClick... gehen da nicht. (können ja auch nicht gehen, soweit ich das jetzt verstanden habe)

    naja, nach dem login habe ich dann das problem mit der darauffolgenden seite mit dem "anmelden".

    ich habe mir erstmal damit beholfen, mausklicks (mouseclick "left",x,x) auf den entsprechenden stellen anzuwenden. aber das gefällt mir irgendwie nicht so recht.

    vielen dank im voraus.

    gruss exberliner

  • gerne ...

    pah jetzt bin ich erst drauf gekommen, dass man bei "anmelden" noch ein @CRLF machen könnte, also so:
    send ($login&"{tab}"&$pwd&@CRLF)
    und den letzten mouseclick dann rausnehmen.
    wäre aber doch interessant zu erfahren, wie man es anders lösen könnte.

    gruss exberliner

  • hi exBerliner,

    ich habe das Skript von heute Morgen nochmal erweitert ;)

    [autoit]


    #include <IE.au3>
    $o_IE1 = _IECreate ("http://www.de.x-markets.db.com")
    _IELoadWait($o_IE1)

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

    $oForm = _IEFormGetObjByName ($o_IE1, "frmdisclaimer")
    $DisclaimerOK = _IEGetObjByName($oForm,"stdiscaccept")
    If $DisclaimerOK <>0 Then
    $DisclaimerOK.click()
    EndIf

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

    Sleep(3000)
    _IENavigate ($o_IE1, "http://www.de.x-markets.db.com/DE/showpage.asp?pageid=90&forwardid=67")
    Sleep(3000)

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

    $oFormLogin = _IEFormGetObjByName ($o_IE1, "frmLogin")
    $oEmail = _IEGetObjByName($oFormLogin,"ememail")
    _IEFormElementSetValue ($oEmail, "ich@home.net")
    $oPasswd = _IEGetObjByName($oFormLogin,"stpassword")
    _IEFormElementSetValue ($oPasswd, "enemenemu")
    _IEFormSubmit($oFormLogin)

    [/autoit]
  • peethebee klar, logisch .. enter.. ich hatte es noch nicht probiert, sondern beim posten nur die taste enter gedrückt und dann in meinem jungspund-leichtsinn @CRLF geschrieben.

    @jonk nee, niemals wäre ich darauf gekommen. danke dir dafür.

    jetzt habe ich noch eine hürde danach, aber aus prinzip möchte ich versuchen das zunächst selbst zu lösen. wenn ich es nicht schaffe, (was ich schon fast befürchte), darf ich mich sicher nochmal melden ? ;)

    gruss exberliner

  • hi jonk,

    das "drama" geht weiter bzw. ich komme nicht weiter :shy
    wie schon angekündigt, kommt nach dem login dort ein icon welches auch den text "new window" hat. ich habe es bisher nur geschafft wieder mit mouseclick weiter zu kommen. wie bekomme ich das denn professioneller wieder hin ? ich habe mal den entsprechenden teil-html-quellcode hier:

    <a href="javascript://" onclick="open_window('showpage.asp?pageid=195','',800,600,1,1);"><img src="/images/icon_window.gif" height="16" width="16" border="0" alt="new window"></a>

    ich denke mal, du erkennst sofort was notwendig ist ?

    hilfst mir bitte noch ein vorletztes mal ? :hihi:

    besten dank im voraus.
    gruss exberliner

    edit: nur rechtschreibfehler korrigiert :)

    2 Mal editiert, zuletzt von ExBerliner (10. September 2006 um 23:01)

  • hi :)

    ^^ konnte den Code diesmal natürlich nicht testen ;). Solltest Du ein neues Fenster haben wollen, ließe sich das auch noch ändern.

  • hi jonk,

    och nö.
    tzz, manchmal sind die dinge ja echt recht einfach nur durch die url zu lösen. :rolleyes: nein, ein neues fenster brauche ich nicht, erspare mir dadurch ja das alte zu schliessen. 2 fliegen mit einer klappe ....

    :musik1: es funzt super. :klatschen:

    vielen dank für die hilfe jonk.

    an die admins: mails bekomme ich leider immer noch nicht, schade.

    gruss exberliner

  • hi jonk,

    muss nochmal stören. ich muss das browserfenster leider ohne menü und adressleiste haben. weisst du dafür auch eine lösung ? dem _IENavigate() kann ich da ja keine parameter für übergeben.

    vielen dank im voraus.

    gruss exberliner

  • Servus,

    auch das ist Möglich :)

    ...
    _IEFormSubmit($oFormLogin)

    $o_IE1.Menubar = False
    $o_IE1.Statusbar = False
    $o_IE1.toolbar = False

    Sleep(3000)
    _IENavigate ($o_IE1, "http://www.de.x-markets.db.com/DE/showpage.asp?pageid=195")
    Sleep(3000)

  • @jonk

    bin sprachlos. es funktioniert super. vielen dank für die unterstützung.
    muss ehrlich gestehen, dass ich die parameter noch nicht so recht verstehe; okay mit dem wissen jetzt kann ich das mal in ruhe aufbröseln.

    also vielen dank nochmal.

    gruss exberliner

  • jau gun-food. soweit war mir das schon klar.

    ich frage mich nur wie/wo die programmzeilen

    $o_IE1.Menubar = False
    $o_IE1.Statusbar = False
    $o_IE1.toolbar = False

    ausgewertet werden.

    mit dem aufruf von "_IENavigate" oder alleine durch die deklaration ?

    gruss exberliner