Ankündigung

Einklappen
Keine Ankündigung bisher.

Erstes Script: Formular ausfüllen -> Link klicken -> Fenster schließen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Erstes Script: Formular ausfüllen -> Link klicken -> Fenster schließen

    Hallo,

    ich hoffe mal, dass ich hier richtig bin. Ich will ein einfaches Script erstellen, habe aber von der Materie keine Ahnung.

    Das nachzubildende Ablauf wäre folgender:

    1) Formular ausfüllen (Bild 1): In der Box über der "Select an option for entering company codes" steht soll ein Codewort aus einer externen Liste eingegeben werden.

    Elemente untersuchen liefert:

    HTML-Code:
    <div class="col-lg-6">
    <div class="form-group">
    <div class="radio">
    <label class="radio-inline">
    <input type="radio" name="search_option" id="search_option_method1" value="code_lookup_method1" checked="">
    </label>
    </div>
    <input id="code_lookup_method1" class="form-control cc-input" type="text" name="query" placeholder="Company Codes" value="" maxlength="4096">
    </div><!-- /form-group -->
    <div class="input-note">
    <small>
    
    
    Please enter Company codes separated by a space.
    
    <br>
    
    Example: IBM [ <a href="javascript:showMe('/wrds/code_search/code_lookup.cfm?product_code=comp.na_monthly_all&a mp;title=Complete Financial Statements (XLS)', 960, 700, 1, 1)" title="Code Search">Code Lookup</a> ]
    <div id="contentpagewrdsdscompfundafinstatindexcfmcompa nycodes" class=""></div>
    
    
    <script>
    $(document).ready(function(){
    var tmp = document.createElement("DIV");
    $( ".strip-html-tags" ).each(function( index ) {
    tmp.innerHTML = $(this).text();
    $(this).html(tmp.textContent || tmp.innerText || "");
    });
    });
    </script>
    
    
    
    </small>
    </div>
    </div>
    2) Formlar abschicken: den Button "submit query" klicken

    Elemente untersuchen liefert:

    HTML-Code:
    <div id="submitsection" class="section m-top15 m-bottom30">
    
    
    <button type="button" id="form_submit" class="btn btn-primary querysubmit" name="querysubmit" onclick="if (document.regform.onsubmit() &amp;&amp; (typeof initializeConditionals != 'function' || formConditionalValidate())) {$('#wrdsqueryform').submit();setTimeout(function( ){$('#form_submit').prop('disabled', false);},10000);this.disabled=true;}">
    Submit Query
    </button>
    
    
    </div>
    3) ca. 10 Sekunden warten, während sich ein neues Fenster (Bild 2) mit den angefragten Daten öffnet
    4) den Link in Bild 2 klicken -> Download startet
    5) Fenster schließen
    6) im ursprünglichen Fenster 1 das nächste Codewort aus einer Liste eintragen (der vorherige Eintrag ist nocht sichtbar, müsste also überschrieben werden)
    7) Schleife durchführen bis alle Codewörter abgearbeitet wurden

    Was wäre der einfachste Weg um dieses Skript zu realisieren? Gibt es so etwas wie einen Makrorekorder für Websiten? Ist PHP die passende Programmiersprache? Wie führe ich das Skript am besten aus? Greasemonkey?

    Danke.

  • #2
    Du denkst eine Ebene zu hoch. Du musst nicht das nachstellen, was im Browser gemacht wird, sondern das, was der Browser zum Server schickt. Die HTTP-Requests musst du dir eben anschauen. Oder frag den Anbieter der Anwendung, ob er nicht eine API für dich hat. Das wäre der primäre Weg, um programmatisch ein Service anzusteuern.

    Kommentar


    • #3
      Wo finde ich denn die HTTP Requests?

      Wenn ich auf "submit query" klicke wird unter "Elemente untersuchen > Netzwerkanalyse" zwei mal die GET Methode ausgeführt (an google.analytics und stats.g.doublelick). Die beiden haben mit der eigentlichen Anfrage nichts zu tun, oder? In dem neuen Fenster das sich öffnet finden sich nochmal 6 GET Methoden an den richtigen Host (Ursprung: 3x img, 2x stylesheet, 1x document).

      Wenn ich about:networking#logging nutze bekomme ich 75000 Zeilen innerhalb der 19s, die die zweite Website zum laden braucht.

      Welches ist das richtige?

      Kommentar


      • #4
        Zitat von eriob Beitrag anzeigen
        Wo finde ich denn die HTTP Requests?

        Wenn ich auf "submit query" klicke wird unter "Elemente untersuchen > Netzwerkanalyse" zwei mal die GET Methode ausgeführt (an google.analytics und stats.g.doublelick). Die beiden haben mit der eigentlichen Anfrage nichts zu tun, oder? In dem neuen Fenster das sich öffnet finden sich nochmal 6 GET Methoden an den richtigen Host (Ursprung: 3x img, 2x stylesheet, 1x document).

        Wenn ich about:networking#logging nutze bekomme ich 75000 Zeilen innerhalb der 19s, die die zweite Website zum laden braucht.

        Welches ist das richtige?
        Keine Ahnung, ich sehe ja nicht das, was du siehst. Eigentlich ist es Teil deiner Aufgabe dich damit zu beschäftigen und die richtigen Requests herauszufinden.

        Kommentar

        Lädt...
        X