Frage

Deshalb habe ich ein Skript in PHP geschrieben, für das JavaScript mit ihm ausgeführt wird. Es fiel mir schwer, die Lösung zu finden, wie man das JavaScript gleichzeitig mit PHP mit einem Linux -Tool ausführt, um es automatisch zu machen ). Die Verwendung des Befehls "PHP" ist auch keine Wahl, da er JavaScript nicht ausführt. Also fand ich eine Lösung, es war Luchs.

Hier ist also mein Problem: Aus irgendeinem Grund läuft das JavaScript in meinem Browser gut, aber nicht in Luchs. Mit Lynx lädt die Seite nur ohne JavaScript -Beteiligung. Gibt es eine Möglichkeit, JavaScript in Lynx zu debuggen.

Bearbeiten:

Anscheinend unterstützt Lynx JavaScript nicht. In diesem Fall ist meine Frage, was macht? Ich muss dieses Skript als Browser ausführen, nur aus der Linux -Eingabeaufforderung. Und wenn OS in diesem Fall wichtig ist, betreibe ich die neueste Ubuntu.

War es hilfreich?

Lösung

Lynx unterstützt JavaScript nicht.

Update 1

Basierend auf Ihrer Zusammenfassung dessen, was Sie tun möchten (melden Sie sich an einer Website an, für die JavaScript für die Kennwortverschlüsselung erforderlich ist). Ich würde Ihnen dringend empfehlen, die Verwendung zu verwenden Selen oder ein anderes Browser -Automatisierungspaket. Auch wenn Sie die Kennwortübermittlung ohne eine solche Ebene ordnungsgemäß funktionieren lassen, wird die Website wahrscheinlich andere Probleme haben, wenn Sie einen minimalistischen Browser wie Lynx verwenden.

Andere Tipps

Lynx unterstützt JavaScript nicht, sondern den alternativen Textbrowser Elinks tut, basierend auf Spidermonkey. Es ist jedoch etwas experimentell; Siehe das Handbuch Wie man es kompiliert.

Außerdem bin ich wirklich verwirrt über das, was Sie hier erreichen wollen ...

Was Sie brauchen, heißt a Kopfloser Browser. Zum Beispiel Phantomjs Ist einer von ihnen. Ich denke, es ist das beliebteste.

Wenn Sie nur wollen JavaScript ausführen Aus der Befehlszeile würde ich Ihnen so etwas beraten wie Nodejs oder Otto. Sie haben einen viel kleineren Leistungs -Fußabdruck als ganzer kopfloser Browser.

Wenn Sie mehr als nur JavaScript benötigen, z. B. das DOM oder so, sollten Sie einen ausprobieren Kopfloser Browser (Chrom, Phantomjs) Wie von anderen vorgeschlagen.

Wenn Sie nicht nur einen Browser benötigen, sondern auch tun möchten automatisierte Tests mit diesem Browser, Selen ist immer noch der richtige Weg.

Es hängt wirklich von Ihrem Anwendungsfall ab, wie viel Sie brauchen.

Aktualisieren: Seit einigen Monaten ist es möglich zu verwenden Chrom als kopfloser Browser Jetzt (Firefox ist auch auf dem Weg).

Selenium ist der richtige Weg, aber wie Sie bemerken, benötigt es eine Anzeige. Was dann gestartet werden muss, und Yada Yada Yada, jetzt haben Sie ein ziemlich komplexes Setup.

Zum Glück gibt es noch ein anderer Weg, um all das zu automatisieren, und es ist durch ein Automatisierungsframework. Ich empfehle Jenkins. Es hat bereits ein Addon, um einen X -Server zu starten.

Die ungefähre Pipeline lautet also wie folgt:

  • Vergessen Sie Crontab
  • Richten Sie einen Jenkins Ubuntu -Server ein (mit X installiert)
  • Installieren Sie das Addon Jenkins XVNCServer (?) - Ich denke, so heißt es. Auf jeden Fall wird dies automatisch einen XHOST für Sie starten.
  • Schreiben Sie Selenium WebDriver -Skripte, die an den fraglichen Ort gehen (am einfachsten * ist die Verwendung der Selenium -IDE)
  • Lassen Sie die Selen -IDE die Webdriver -Skripte in jedem Format ausgeben und lassen Sie es Jenkins ausführen. Ich persönlich benutze das Java -Format und benutze dann Ant, um sie zu bauen.

Wie Sie sich vorstellen können, ist dies ein ziemlicher Setup, aber es wird technisch gesehen das tun, was Sie fragen. Es tut mir leid, dass es nicht so einfach ist wie Lynx.

Eine andere Möglichkeit ist, Ihre Webseite nur umzuschreiben, um Sachen zu machen, ohne einen Browser anzunehmen. Nehmen Sie beispielsweise einen Get -Parameter auf .

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