J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python

Je n'ai écrit qu'un blog plein de matériel d'anime, Je vais également l'afficher sous forme de mémorandum.

En premier lieu, la raison pour laquelle vous avez tenté de créer un processus d’exécution périodique était Je fais la même chose chaque semaine sur un site Web, pouvez-vous le faire automatiquement? A cause de la demande.

Alors

Objectif

Ce qui est utilisé pour le traitement d'exécution périodique

Créez des cas de test pour Python avec Selenium IDE (Windows ou Mac, etc.)

  1. Installez Selenium IDE sur Firefox
  2. Enregistrez les étapes que vous souhaitez effectuer automatiquement sur votre site Web avec Selenium IDE
  3. Exporter le cas de test => Python 2 / unittest / WebDriver
  4. Téléchargez le scénario de test enregistré sur CentOS

Construction d'environnement pour le traitement périodique (CentOS)

Installation du système de gestion des packages Python


yum install python-pip

Installation de Python Selenium


pip install selenium

Installation de Firefox


yum install firefox

Installation de Xvfb


yum install xorg-x11-server-Xvfb

Créer un service de démarrage automatique Xvfb


vi /etc/init.d/xvfb

/etc/init.d/xvfb


#!/bin/bash
#
# chkconfig: - 91 35
# description: Xvfb

# Source function library.
. /etc/init.d/functions

# Xvfb define
readonly XVFB=/usr/bin/Xvfb
readonly XVFB_STATUS=":1 -screen 0 1366x768x24"
readonly XVFB_PID_FILE=/var/run/xvfb.pid
readonly XVFB_SERVICE=$"Xvfb"

retval=0

start() {
    if [ -e ${XVFB_PID_FILE} ]; then
        action $"Starting ${XVFB_SERVICE}: " /bin/false
        echo "${XVFB_SERVICE}Est déjà en cours d'exécution."
    else
        action $"Starting ${XVFB_SERVICE}: " /bin/true
        ${XVFB} ${XVFB_STATUS} > /dev/null 2>&1 &
        echo $! > ${XVFB_PID_FILE}
    fi
}

stop() {
    if [ -e ${XVFB_PID_FILE} ]; then
        action $"Stopping ${XVFB_SERVICE}: " /bin/true
        pid=`cat ${XVFB_PID_FILE}`
        test ! -z $pid && kill $pid && rm -f ${XVFB_PID_FILE}
    else
        action $"Stopping ${XVFB_SERVICE}: " /bin/false
        echo "${XVFB_SERVICE}Ne fonctionne pas."
    fi
}

status() {
    if [ -e ${XVFB_PID_FILE} ]; then
        echo "${XVFB_SERVICE} (pid `cat ${XVFB_PID_FILE}`)Est en cours d'exécution..."
    else
        echo "${XVFB_SERVICE}Ne fonctionne pas."
    fi
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 1
        start
        ;;
    status)
        status
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart|status}"
        retval=1
esac

exit ${retval}

Paramètres du service de démarrage automatique Xvfb


chmod 755 /etc/init.d/xvfb
chkconfig --add xvfb
chkconfig --level 3 xvfb on

Redémarrage Xvfb


/etc/init.d/xvfb restart

Création de processus d'exécution périodique


crontab -e

cron


#Spécifiez l'adresse e-mail pour vérifier les résultats de l'exécution Cron
[email protected]
# /home/kotanbo/test.La partie py spécifie le cas de test téléchargé
#Ce qui suit est régulièrement exécuté à 9 heures le dimanche
0 9 * * 0 export DISPLAY=localhost:1.0; python /home/kotanbo/test.py

redémarrage cron


/etc/init.d/crond restart

référence

Rubi + selenium-webdriver dans l'environnement CUI Linux Script de démarrage Xvfb [Démarrer automatiquement le serveur sélénium avec centos](http://hironoki.com/blog/2011/10/28/centos%E3%81%A7selenium%E3%82%B5%E3%83%BC%E3%83%90 % E3% 83% BC% E8% 87% AA% E5% 8B% 95% E8% B5% B7% E5% 8B% 95 /)

Postscript

2017/04/27

Les derniers firefox et sélénium ne fonctionneront probablement pas avec ce qui précède. J'ai décrit le contenu de l'environnement nouvellement construit, veuillez donc également le vérifier. => J'ai fait un processus d'exécution périodique avec CentOS7, Selenium, Python et Chrome

Recommended Posts

J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de faire un processus périodique avec CentOS7, Selenium, Python et Chrome
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
[3ème] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
J'ai essayé de créer une application todo en utilisant une bouteille avec python
[4th] J'ai essayé de créer un certain outil de type Authenticator avec python
[1er] J'ai essayé de créer un certain outil de type Authenticator avec python
Je veux faire un jeu avec Python
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
J'ai fait une application d'envoi de courrier simple avec tkinter de Python
[Analyse des brevets] J'ai essayé de créer une carte des brevets avec Python sans dépenser d'argent
J'ai essayé de créer facilement un système de présence entièrement automatique avec Selenium + Python
J'ai essayé de créer une API de reconnaissance d'image simple avec Fast API et Tensorflow
J'ai essayé de créer diverses "données factices" avec Python faker
J'ai fait un chronomètre en utilisant tkinter avec python
J'ai essayé d'automatiser la mise à jour de l'article du blog Livedoor avec Python et sélénium.
Fractal pour faire et jouer avec Python
J'ai essayé un langage fonctionnel avec Python
J'ai créé une API Web
Rubyist a essayé de créer une API simple avec Python + bouteille + MySQL
Un mémorandum lors de l'acquisition automatique avec du sélénium
J'ai essayé de créer une expression régulière de "montant" en utilisant Python
[Python] J'ai essayé d'implémenter un tri stable, alors notez
J'ai essayé de créer une expression régulière de "temps" en utilisant Python
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
J'ai essayé de créer une liste de nombres premiers avec python
J'ai essayé de créer une expression régulière de "date" en utilisant Python
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
J'ai essayé de créer des taureaux et des vaches avec un programme shell
J'ai essayé de détecter facilement les points de repère du visage avec python et dlib
J'ai essayé de faire une étrange citation pour Jojo avec LSTM
J'ai essayé de créer une fonction de similitude d'image avec Python + OpenCV
J'ai essayé de créer un mécanisme de contrôle exclusif avec Go
[1 hour challenge] J'ai essayé de créer un site de bonne aventure qui soit trop adapté à Python
J'ai créé un serveur avec socket Python et ssl et j'ai essayé d'y accéder depuis le navigateur
J'ai essayé de créer un générateur qui génère une classe conteneur C # à partir de CSV avec Python
J'ai aussi essayé d'imiter la fonction monade et la monade d'état avec le générateur en Python
Je veux faire un changeur de voix en utilisant Python et SPTK en référence à un site célèbre
J'ai essayé le web scraping en utilisant python et sélénium
J'ai essayé la différenciation jacobienne et partielle avec python
J'ai essayé d'obtenir des données CloudWatch avec Python
Essayez de créer un code de "décryptage" en Python
J'ai essayé la synthèse de fonctions et le curry avec python
J'ai essayé de sortir LLVM IR avec Python
J'ai essayé d'automatiser la fabrication des sushis avec python
Essayez de créer un groupe de dièdre avec Python
Je veux écrire dans un fichier avec Python
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda
[AWS] [GCP] J'ai essayé de rendre les services cloud faciles à utiliser avec Python
[Outlook] J'ai essayé de créer automatiquement un e-mail de rapport quotidien avec Python