J'ai donc écrit un script dans PHP qui nécessite JavaScript pour s'exécuter avec. J'ai eu du mal à trouver la solution pour exécuter le javascript avec php en même temps en utilisant un outil linux pour le rendre automatique (car le faire fonctionner dans mon navigateur n'est pas un choix, j'ai besoin que ce soit un logiciel ). L'utilisation de la commande "php" n'est pas un choix non plus, car elle n'exécute pas javascript. Alors j'ai trouvé une solution, c'était le lynx.
Voici donc mon problème: pour une raison quelconque, le javascript fonctionne correctement dans mon navigateur, mais pas dans Lynx. En utilisant Lynx, la page se charge simplement sans implication de javascript. Existe-t-il un moyen de déboguer JavaScript dans Lynx, un peu comme Google Chrome permet de voir ce qui se passe depuis la console afin que je puisse savoir ce qui empêche le script de s'exécuter dans Lynx?
Modifier:
Donc, apparemment, Lynx ne supporte pas le javascript. Dans ce cas, ma question est la suivante: que fait-on? J'ai besoin d'exécuter ce script en tant que navigateur mais à partir de la commande linux Prompt. Et si le système d'exploitation compte dans ce cas, j'utilise la dernière Ubuntu.
Lynx ne supporte pas Javascript.
Mise à jour 1
En vous basant sur votre résumé de ce que vous tentez de faire (connectez-vous à un site qui requiert JavaScript pour le cryptage du mot de passe), je vous recommande vivement d'utiliser Selenium ou un autre logiciel d'automatisation de navigateur. Même si la soumission du mot de passe fonctionne correctement sans une telle couche, le site posera probablement d'autres problèmes si vous utilisez un navigateur minimaliste comme Lynx.
Ce dont vous avez besoin est appelé Headless Browser. Par exemple PhantomJS est l’un d’eux. Je pense que c'est le plus populaire.
Si vous voulez seulement exécuter Javascript depuis la ligne de commande, je vous conseillerais quelque chose comme nodejs ou otto . Ils ont une empreinte de performances beaucoup plus réduite que tout un navigateur sans navigateur.
Si vous avez besoin de plus que de simples Javascript, par exemple, le DOM ou alors, vous devriez essayer un navigateur headless ( Chrome , PhantomJS ) comme suggéré par d'autres.
Si vous avez non seulement besoin d'un navigateur, mais que vous souhaitiez effectuer des tests automatisés avec ce navigateur, Selenium reste le chemin à parcourir.
Cela dépend vraiment de votre cas d'utilisation.
Update: Depuis quelques mois, il est possible d'utiliser Chrome en tant que navigateur sans navigateur maintenant (Firefox est également en route).
Le sélénium est la voie à suivre, mais comme vous le remarquez, il faut un affichage. Ce qui doit ensuite être lancé, et yada yada yada, vous avez maintenant une configuration assez complexe en cours !!
Heureusement, il y a encore un autre moyen d'automatiser tout cela, à travers un cadre d'automatisation. Je recommande Jenkins. Il a déjà un addon pour lancer un serveur x.
Le pipeline approximatif est donc le suivant:
Comme vous pouvez l’imaginer, c’est tout à fait une configuration, mais elle fera techniquement ce que vous demandez. Je suis désolé, ce n'est pas aussi simple que de faire pipi au lynx.
Une autre solution consiste simplement à réécrire votre page Web sur DO STUFF sans utiliser de navigateur, par exemple, prenez un paramètre GET qui le met en "mode automatique". .