Frage

Ich habe einige Code (übrigens ist es für Omniture Sitecatalyst), die basierend auf einigen JavaScript Objektvariablen ein 1x1 Pixel rendert ich in der Seite Quellcode gesetzt. Das JavaScript erzeugt schließlich ein img auf dem Scripting-Code basiert, aber das img src nicht in die HTML hartcodiert. Wie kann ich herausfinden, was das img src ist, die URL einer Seite gegeben? Wenn ich nur die Seite packen, werde ich die vorgerenderten JavaScript bekommen.

Bearbeiten

Zum Beispiel, sagen wir, ich habe diesen Code für StackOverflow.html :

<html>
<script type="text/javascript">
a = 2
document.write(a)
</script>
</html>

Wie kann ich holen StackOverflow.html und irgendwie den Wert bekommen "2" statt all meines Scripting-Code?

Danke!

War es hilfreich?

Lösung 4

Ich denke, der beste Weg, dies zu tun, mit Selen ist, und dann auf der Seite einige Javascript injiziert den Wert aus dem Fenster global gegebenenfalls entweder Mine des DOM, oder abgerufen werden.

Andere Tipps

Wenn Sie versuchen, den Wert von a zu erhalten, nachdem das Skript auf der Client-Seite (das heißt im Browser) ausgeführt wird, sollten Sie nur in der Lage sein, es in der normalen Art und Weise abgerufen werden.

Nehmen Sie die folgende Einstellung:

index.html

Diese Datei ist Ihre Internetseite. Es enthält einige Inhalte, ein Tracking-Skript, das ein Bild und ein eigenes Skript einfügt.

<!doctype html>
<html>
<head><title>My Page</title></head>
<body>
  <p>My Content<p>
  <!-- Start tracking code -->
  <script src="tracking.js"></script>
  <!-- End tracking code -->
  <script src="mycode.js"></script>
</body>
</html>

tracking.js

Dies ist der Tracking-Code, vermutlich durch die Tracking-Unternehmen zur Verfügung gestellt.

var id = '1234foobar';
var visitorUserAgent = encodeURIComponent(navigator.userAgent);
document.write(
  '<img src="http://tracking.com/1x1.gif?id='
  + id + '&ua=' + visitorUserAgent + '" />'
);

mycode.js

Wenn Sie wissen, welche Variablen (falls vorhanden) der Tracking-Code erzeugt, sollten Sie in der Lage sein, die Variablen selbst abzurufen oder zumindest das src Attribut des img-Tag, das die Tracking-Code erstellt.

var imgs = document.getElementsByTagName('img');
alert([id, visitorUserAgent, imgs[imgs.length - 1].src].join('\n'));

Edit:

Ihre angepasst Frage zu beantworten:

es scheint mir, dass Ihr Problem ist, herauszufinden, was die Seite aussehen wird, nachdem die JS darauf ausgeführt wird.

Es gibt keine einfache Möglichkeit, dies zu tun, dass Sie 100% genaue Ergebnisse geben, für die Sie brauchen, um tatsächlich die Javascript und sehen, was die Ergebnisse sind, das ist wirklich nicht-einfach, wenn Sie in einem Browser Arent.

Jetzt haben Sie mehrere Möglichkeiten. Sie didnt erwähnen, welches Werkzeug Sie greifen die Seite verwenden, krank annehmen, dass Sie einen speziell angefertigten Schaber verwenden. Wenn Sie die Scarper halten verwenden Sie folgende Möglichkeiten:

  • Blick in rhino mit der JS zu bewerten. Ich bin nicht sicher, was das Sie geben, Sie diese Forschung kann.
  • wenn document.write ist die einzige rufen Sie interessieren, können Sie die Variablen analysieren, kann es verwendet, und dann versuchen, ihre Werte zu bewerten. dies wird einen Parser erfordern schreiben, wahrscheinlich schwierig.
  • Beste, was Sie tun können, ist ein Funktionstestwerkzeug wie Tellur oder Selen zu verwenden. Dies werden Sie auf die Seite zugreifen, wo die JS bereits ausgeführt wird, und Sie können meine ursprüngliche Antwort zu bekommen, den Wert müssen Sie verwenden.

würde ich den Net-Panel auf Firebug und Filter durch Bildanfragen verwenden. Sie werden sehen, es den Moment, gehen sie erstellt wird. Auch wenn Sie Analytics-Anfragen machen, versuchen Sie die Installation Omnibug Firebug-Plugin zu verfolgen und Pause Down-Anfragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top