Moin, das passt eigentlich auch in den Frust-Thread: Zuerst hatte ich Python installiert (dachte, bequem), dann Splinter und dann ChromeDriver server for win - dann hab ich das zusammengesteckt - und dann ist mir aufgefallen, dass das ohne Chrome nicht funktioniert.
Also hab ich mir PhantomJS angeschaut, das kann JS, CSS, Canvas und sogar Rendern. Allerdings scheine ich die Funktionsweise noch nicht verstanden zu habn:
JavaScript:
console.log('Hello, world!');
var page = require('webpage').create();
console.log('The default user agent is ' + page.settings.userAgent);
console.log('The new user agent is ' + page.settings.userAgent);
page.open('https://forum.byte-welt.net/', function() {
page.render('b-w.png');
var as = page.evaluate(function() {
return document.querySelectorAll('a');
});
var refs = [];
for (var i = 0; i < as.length; i++) {
var e = as**;
if (e.hasAttribute('href')) {
refs.push(e.href);
console.log(e.href);
}
}
phantom.exit();
});
Er gibt aus:
Hello world,
default agent,
new agent,
und er rendert auch das PNG b-w.png
.
Das war’s dann aber auch schon:
Fatal Windows exception, code 0xc0000005.
PhantomJS has crashed. Please read the bug reporting guide at
Dh, er kann die Seite “öffnen” und auch komplett rendern, aber kann nicht ein paar Knoten des DOMs auswählen… Man kann wohl auch jQuery injizieren ( siehe Link ), aber das scheint auch nicht zu funktionieren.
Sieht jemand, was ich falsch mache? Oder hättet ihr viell Tipps und Alternativen ( hier hab ich mich schon durchgewühlt )? Die Sprache ist auch egal, ich kann alle, bis auf Go.