Question

J'ai donc écrit un script en PHP qui nécessite JavaScript pour fonctionner avec. J'ai eu du mal à trouver la solution sur la façon d'exécuter le javascript avec php en même temps en utilisant un autre outil linux pour le rendre automatique (depuis l'exécuter dans mon navigateur n'est pas un choix, je besoin d'être un crontab ). En utilisant la commande « php » est pas un choix soit car il ne javascript pas exécuté. J'ai donc trouvé une solution, il était lynx.

Alors, voici mon problème: pour une raison quelconque, le javascript fonctionne dans mon navigateur très bien, mais pas dans le lynx. En utilisant la page lynx juste des charges sans aucune intervention javascript. Est-il un moyen de javascript de débogage dans le lynx, ce genre de Google Chrome a où vous pouvez voir ce qui se passe de la console, afin que je puisse savoir ce qui cause le script de ne pas courir dans le lynx?

Edit:

Donc, apparemment lynx ne supporte pas javascript. Dans ce cas, ma question est, qu'est-ce? Je dois exécuter ce script comme un navigateur, mais à partir de la commande linux invite. Et si les choses OS dans ce cas, je me présente sous Ubuntu.

Était-ce utile?

La solution

Lynx ne fonctionne pas avec Javascript.

Mise à jour 1

En fonction de votre résumé de ce que vous essayez de faire (connexion à un site qui nécessite JavaScript pour le cryptage par mot de passe) je voudrais vous recommandons fortement de regarder à l'aide

Autres conseils

Lynx ne supporte pas JavaScript, mais le navigateur texte alternatif ELinks ne, sur la base SpiderMonkey. Il est bien peu expérimentale; voir le manuel sur la façon de le compiler dans.

En outre, je suis vraiment perplexe sur ce que vous essayez d'accomplir ici ...

Qu'est-ce que vous avez besoin est appelé Headless navigateur . Par exemple PhantomJS est l'un d'entre eux. Je pense qu'il est le plus populaire.

Si vous voulez seulement exécuter Javascript de la ligne de commande, je vous conseille quelque chose comme nodejs ou otto. L'ont une empreinte de performance beaucoup moins important en tant que navigateur sans tête entière.

Si vous avez besoin de plus de Javascript tout simplement, par exemple les DOM ou alors, vous devriez essayer un navigateur sans tête ( Chrome , PhantomJS ) comme suggéré par d'autres.

Si vous avez non seulement besoin d'un navigateur, mais que vous voulez faire tests automatisés avec ce navigateur, sélénium est encore le chemin à parcourir.

Cela dépend vraiment de votre cas d'utilisation combien vous avez besoin.

Mise à jour: Depuis quelques mois, il est possible d'utiliser Chrome comme navigateur sans tête maintenant (Firefox est trop sur son chemin).

est Sélénium le chemin à parcourir, mais comme vous le remarquez, il a besoin d'un écran. Ce qui doit ensuite être lancé, et patati et patata, maintenant, vous avez tout à fait une configuration complexe se passe !!

Heureusement, il y a autre façon pour automatiser tout cela, et il est dans un cadre d'automatisation. Je recommande Jenkins. Il a déjà un addon pour lancer un serveur x.

Ainsi, le pipeline approximative est la suivante:

  • Oubliez crontab
  • configurer un serveur de Jenkins (avec x installé)
  • Installer le jenkins addon xvncserver (?) - Je pense que ce qu'il est appelé. De toute façon cela va lancer un Xhost automatiquement pour vous.
  • Ecrire le sélénium WebDriver scripts qui vont à l'emplacement en question (plus facile * est d'utiliser l'IDE Sélénium)
  • Avoir la sortie IDE de sélénium les scripts WebDriver à tout format, ont jenkins exécuter. Personnellement, j'utiliser le format Java, utilisez fourmi pour les construire.

Comme vous pouvez l'imaginer, cela est tout à fait une configuration, mais il techniquement faire ce que vous demandez. Je suis désolé que ce n'est pas aussi simple que la tuyauterie wget au lynx.

Une autre façon de faire est de réécrire simplement votre page web pour faire des choses sans prendre un navigateur, par exemple, prendre un paramètre GET qui met en « mode automatique » et il considèrera qu'il est exécuté à partir d'un Cron et faire le bonheur de travers un circuit plus court.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top