Hallo Leute,
seit langem stehe ich an einem Problem wo ich leider ohne Unterstützung nicht mehr weiter komme.
Obwohl ich das Internet extrem durchstöbert und reichlich nach Lösungsansätzen gesucht habe, komme ich mit mein Wissen nicht mehr weiter. Ich muss auch zugeben, dass ich mit CasperJS zum 1. Mal Arbeite und so gut wie keine vernünftigen Erfahrungen sammeln konnte.
Meine Stärken lehnt sich zu PHP was leider für mein Vorhaben nicht angebracht ist, eher wohl aber CasperJS - laut der Empfehlung aus diesem Forum hier.
Mein Vorhaben ist rein private und daher habe ich die Zeit nur nach der Arbeit und ist nichts Kommerzielles.
Zu mein Vorhaben:
Ich habe private ein paar Marken. Zwischendurch muss ich diese Marken auf der DPMA-Internetseite Verwalten / Analyse etc. treiben.
Auf Dauer ist mir dies sehr umständlich (-geworden).
Daher habe ich gedacht, dass ich ein Script schreibe, was mir die Arbeit etwas erleichtert.
Zuerst hatte ich es über PHP-CURL versucht, womit ich auf das falsche Pferd gesetzt hatte.
Laut der Empfehlung versuche ich es schon etwas längerem - mit reichlich verschiedenen Lösungsansätzen (Beispiele aus dem Internet) mit CasperJS zu lösen aber es funktioniert nicht.
Das Problem ist / liegt wahrscheinlich daran, dass die Seite POST-Anfragen über SSL verschickt.
Hier mein letzter Ansatz:
Ich habe an den Abschnitten jeweils 2 Screenshots machen lassen.
Anhand diese 2 Bilder, sehe ich, dass ich den Ziel erreicht habe. Jedoch kann ich mir aber die Link-Adressen aus der Trefferliste nicht ausgeben lassen.
Wo liegt denn eigentlich mein Problem?
Ich bitte um Hilfe und Unterstützung.
MfG
Daniel
PS:
Ich habe hier fiktive als Beispiel nach der Marke "Adidas" gesucht. Die Marke selbst ist hier unwichtig.
seit langem stehe ich an einem Problem wo ich leider ohne Unterstützung nicht mehr weiter komme.
Obwohl ich das Internet extrem durchstöbert und reichlich nach Lösungsansätzen gesucht habe, komme ich mit mein Wissen nicht mehr weiter. Ich muss auch zugeben, dass ich mit CasperJS zum 1. Mal Arbeite und so gut wie keine vernünftigen Erfahrungen sammeln konnte.
Meine Stärken lehnt sich zu PHP was leider für mein Vorhaben nicht angebracht ist, eher wohl aber CasperJS - laut der Empfehlung aus diesem Forum hier.
Mein Vorhaben ist rein private und daher habe ich die Zeit nur nach der Arbeit und ist nichts Kommerzielles.
Zu mein Vorhaben:
Ich habe private ein paar Marken. Zwischendurch muss ich diese Marken auf der DPMA-Internetseite Verwalten / Analyse etc. treiben.
Auf Dauer ist mir dies sehr umständlich (-geworden).
Daher habe ich gedacht, dass ich ein Script schreibe, was mir die Arbeit etwas erleichtert.
Zuerst hatte ich es über PHP-CURL versucht, womit ich auf das falsche Pferd gesetzt hatte.
Laut der Empfehlung versuche ich es schon etwas längerem - mit reichlich verschiedenen Lösungsansätzen (Beispiele aus dem Internet) mit CasperJS zu lösen aber es funktioniert nicht.
Das Problem ist / liegt wahrscheinlich daran, dass die Seite POST-Anfragen über SSL verschickt.
Hier mein letzter Ansatz:
PHP-Code:
var casper = require('casper').create({
pageSettings: {
// webSecurityEnabled: true,
userAgent: navigator.userAgent,
loadImages: false,
loadPlugins: false
},
waitTimeout: 10000,
stepTimeout: 10000,
logLevel: "info",
verbose: true,
onWaitTimeout: function() {
this.echo('*** Wait-TimeOut ***');
},
onStepTimeout: function() {
this.echo('*** Step-TimeOut ***');
}
});
var utils = require('utils');
var links = [];
var url = 'https://register.dpma.de/DPMAregister/marke/einsteiger';
var selector = 'form[action="' + url[1] + '"]';
var x = require('casper').selectXPath;
function getLinks() {
// var link = document.querySelectorAll(x('//*[@id="trefferliste"]/tbody/tr/td/a'));
var items = [];
items = document.querySelectorAll('#trefferliste a');
return Array.prototype.map.call(items, function(e) {
return e.getAttribute('href');
});
}
casper.start(url, function() {
if(this.cli.args == "") {
this.echo("Bitte geben Sie die Suchende Marke ein!");
this.exit(1);
} else {
// funktioniert nicht, weshalb auch immer!
//this.sendKeys("#wm", this.cli.args);
this.sendKeys("#wm", "Adidas");
this.echo("1. Abschnitt\nMarke = " + this.cli.args);
this.capture("1_Abschnitt.png");
}
});
casper.thenClick("#rechercheStarten", function() {
this.echo("2. Abschnitt startet");
this.capture("2_Abschnitt.png");
});
casper.then(function() {
// links = this.evaluate(getLinks);
links = this.evaluate(function() {
var items = [];
$.each($("#trefferliste a"), function(x, y) {
items.push({
title: $(y).text(),
link: $(y).attr("href")
});
});
return items;
});
this.echo("Ausgabe: ");
utils.dump(links);
});
casper.run();
Anhand diese 2 Bilder, sehe ich, dass ich den Ziel erreicht habe. Jedoch kann ich mir aber die Link-Adressen aus der Trefferliste nicht ausgeben lassen.
Wo liegt denn eigentlich mein Problem?
Ich bitte um Hilfe und Unterstützung.
MfG
Daniel
PS:
Ich habe hier fiktive als Beispiel nach der Marke "Adidas" gesucht. Die Marke selbst ist hier unwichtig.
Kommentar