wie man PhantomJS von PHP aus ausführt

Lesezeit: 3 Minuten

wie man PhantomJS von PHP aus ausfuhrt
MOB

Ich möchte PhantomJS von PHP auf localhost ausführen.

Kann jemand erklären, wie man PhantomJS von PHP aus ausführt und welches Paket ich von phantomjs.org herunterladen sollte?

  • packagist.org/packages/jonnyw/php-phantomjs

    – jszobody

    25. November 13 um 20:17 Uhr

  • stackoverflow.com/questions/10651320/… (google for “phantomjs php” gibt viele gute Treffer, manche sogar bei stackoverflow)

    – Möre

    25. November 13 um 20:17 Uhr


  • Ich kann das PHP-Phantomjs-Skript nicht auf meinem lokalen ausführen und es macht einige Fehler, von denen ich nicht weiß, warum sie passieren … Ich teste dieses Skript von Git

    – MÖB

    25. November 13 um 20:21 Uhr

wie man PhantomJS von PHP aus ausfuhrt
Benjy

  • laden Sie die herunter PhantomJS-Binärdatei, irgendwo hochladen und ausführbar machen (chmod +x)
  • Wenn Sie Screenshots machen möchten, Setup Schriftartkonfiguration (Dies ist ziemlich spezifisch für meine Konfiguration, aber das Ziel ist sicherzustellen, dass mindestens einige Schriftarten auf Ihrem System vorhanden sind.)
  • Führen Sie Folgendes in PHP aus:
    $response = exec('/path/to/phantomjs myscript.js');

  • vielen Dank für die Antwort. Ich versuche, es bei localhost in Windows 7 und xampp server zu verwenden. wie mache ich es ausführbar? und welches Paket soll ich herunterladen? Windows- oder Linux-Version?

    – MÖB

    26. November 13 um 19:50 Uhr

  • Für alle, die Probleme mit dieser Lösung haben, indem Sie folgen diese Antwort Ich habe es geschafft, mein Phantom-Skript erfolgreich von PHP aus aufzurufen.

    – Fisu

    20. März 15 um 08:18 Uhr

  • @Benjy Ich habe das versucht $response = exec('/phantom/phantomjs myscript.js'); exec("phantom/bin/phantomjs phantom/examples/hello.js", $response); (replace " with normal ticks) echo implode("<br>", $response); aber es wird überhaupt nichts wiedergegeben, warum ist das so? Alles hat die richtigen Berechtigungen und wird ohne Probleme über SSH ausgeführt

    – Ethan

    20. Februar 17 um 1:48 Uhr


  • So machen Sie Phantomjs mit chmod +x ausführbar

    – Assad Ali Khan

    26. August 17 um 10:14 Uhr

wie man PhantomJS von PHP aus ausfuhrt
John Slegers

Es gibt tatsächlich eine Bibliothek namens PHP-PhantomJS, um Ihnen dies zu erleichtern!

PHP PhantomJS ist eine flexible PHP-Bibliothek zum Laden von Seiten über den Headless-Browser von PhantomJS und Zurückgeben der Seitenantwort. Es ist praktisch zum Testen von Websites, die Javascript-Unterstützung erfordern, und unterstützt auch Bildschirmaufnahmen.

Vollständige Dokumentation

Funktionsliste:

  • Laden Sie Webseiten über den Headless-Browser von PhantomJS
  • Zeigen Sie detaillierte Antwortdaten an, einschließlich Seiteninhalt, Kopfzeilen, Statuscode usw.
  • Behandeln Sie Weiterleitungen
  • Anzeigen von Javascript-Konsolenfehlern
  • Zeigen Sie detaillierte PhantomJS-Debugging-Informationen an
  • Speichern Sie Screenshots auf der lokalen Festplatte
  • Ansichtsfenstergröße festlegen
  • Definieren Sie die X-, Y-, Breiten- und Höhenparameter für die Bildschirmaufnahme
  • Verzögern Sie das Rendern der Seite für eine bestimmte Zeit
  • Führen Sie PhantomJS mit Befehlszeilenoptionen aus
  • Einfaches Erstellen und Ausführen benutzerdefinierter PhantomJS-Skripts

Stellen Sie jedoch sicher, dass Ihre Version von PhantomJS mit Ihrer Version von kompatibel ist PHP-PhantomJS:

Bitte beachten Sie: Version 4.0 dieser Bibliothek wartet derzeit auf ein ungelöstes Problem mit PhantomJS 2.0.

  • Was ist das ungelöste Problem, ist es lächerlich langsam, Webseiten nach 1.9 zu öffnen?

    – Ian Chadwick

    21. März 16 um 10:58 Uhr

  • Ist dies unter Verwendung von stackoverflow.com/q/61983687/3170029 möglich PHP-PhantomJS?

    – Muhammad Hassan

    27. Mai 20 um 12:19 Uhr


1643033646 259 wie man PhantomJS von PHP aus ausfuhrt
MerlinTheMagic

Ich habe kürzlich ein Projekt veröffentlicht, das PHP-Zugriff auf einen Browser ermöglicht. Hol es dir hier: https://github.com/merlinthemagic/MTS. Unter der Haube setzt es auf PhantomJS.

Nach dem Herunterladen und Einrichten würden Sie einfach den folgenden Code verwenden:

$myUrl          = "http://www.example.com";
$windowObj      = MTSFactories::getDevices()->getLocalHost()->getBrowser('phantomjs')->getNewWindow($myUrl);

//now you can either retrive the DOM and parse it, like this:
$domData    = $windowObj->getDom();

//or take screen shots
$imageData    = $windowObj->screenshot();

//or use the mouse to click buttons:
$windowObj->mouseEventOnElement("[id=searchInput]", 'leftclick');

//or type with the keyboard :
$windowObj->sendKeyPresses("my search words");

//or load and execute custom javascript, fill forms etc, etc.

  • Ich habe MTS in Windows 10 ausprobiert und es funktioniert nicht: “Fatal error: Uncaught Exception: MTSCommonDevicesActionsLocalHostOperatingSystem::execute>> OS Architecture in… konnte nicht bestimmt werden.”

    – Tarilonte

    20. Juni 21 um 13:33 Uhr

  • @Tarilonte SO ist nicht der richtige Ort für die Fehlerbehebung, bitte gehen Sie zu github.com/merlinthemagic/MTS/issues und eröffne ein neues Thema.

    – MerlinTheMagic

    20. Juni 21 um 13:35 Uhr

.

619090cookie-checkwie man PhantomJS von PHP aus ausführt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy