Comment manipuler DOM en ligne de commande ubuntu sans rendre la page sur l'interface graphique?


0

J'ai écrit un petit extrait JS qui clique en boucle sur des boutons du DOM d'un site Web cible donné. Pour exécuter cet extrait, j'ouvre le site cible dans Firefox. Ensuite, je colle cet extrait JS dans la console et le laisse faire son travail. PFA un extrait de code ci-dessous.

Maintenant, le problème est que je veux automatiser tout ce processus pour éviter d’ouvrir réellement Firefox chaque jour. Je voudrais juste écrire un cron pour faire cela tous les jours et tout devrait se passer en arrière-plan. Je dois le déployer sur une machine virtuelle Linux en nuage sans interface graphique.

Des idées sur la façon dont je devrais procéder? (Je sais déjà que je peux utiliser l'API backend du site Web, évitant ainsi toute la manipulation du DOM. Mais j'aimerais explorer d'autres options.)

PS: Exemple de code que je saisis dans la console des outils de développement de Firefox:

func = setInterval(function () {
    // Some button that I want to click.
    document.evaluate("/html/body/div[1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.click();

    // TODO: A break condition (or not)
}, 6000);

Réponses:


1

Je vous conseillerais d’abandonner ce que vous avez fait jusqu’à présent et d’apprendre à utiliser Selenium .

Selenium est à peu près le standard de l'industrie lorsque nous testons des applications Web et vous permet d'automatiser les interactions entre les navigateurs (scripts).

Selenium automatise les navigateurs. C'est tout! Ce que vous faites avec ce pouvoir est entièrement à vous. Il s’agit principalement d’automatiser des applications Web à des fins de test, mais ne se limite certainement pas à cela. Des tâches d’administration Web ennuyeuses peuvent (et devraient!) Être automatisées.

Selenium est pris en charge par certains des plus grands fournisseurs de navigateurs qui ont pris (ou prennent des mesures) pour que Selenium soit une partie native de leur navigateur. C'est également la technologie de base d'innombrables autres outils, API et frameworks d'automatisation de navigateur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.