Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen

Ich habe nur einen Blog voller Anime-Material geschrieben, Ich werde es auch als Memorandum veröffentlichen.

Der Grund für den Versuch, einen periodischen Ausführungsprozess zu erstellen, war in erster Linie Ich mache jede Woche das Gleiche auf einer Website. Können Sie das automatisch tun? Wegen der Anfrage.

Damit

Zweck

Was wird für die periodische Ausführungsverarbeitung verwendet?

Erstellen Sie Testfälle für Python mit Selenium IDE (Windows oder Mac usw.)

  1. Installieren Sie Selenium IDE auf Firefox
  2. Notieren Sie die Schritte, die Sie automatisch ausführen möchten, mit Selenium IDE auf Ihrer Website
  3. Testfall exportieren => Python 2 / unittest / WebDriver
  4. Laden Sie den gespeicherten Testfall auf CentOS hoch

Umgebungskonstruktion für die periodische Verarbeitung (CentOS)

Installation des Python-Paketverwaltungssystems


yum install python-pip

Python Selenium Installation


pip install selenium

Firefox-Installation


yum install firefox

Xvfb-Installation


yum install xorg-x11-server-Xvfb

Erstellen Sie einen Xvfb-Autostartdienst


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}Ist bereits gestartet."
    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}Läuft nicht."
    fi
}

status() {
    if [ -e ${XVFB_PID_FILE} ]; then
        echo "${XVFB_SERVICE} (pid `cat ${XVFB_PID_FILE}`)Läuft..."
    else
        echo "${XVFB_SERVICE}Läuft nicht."
    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}

Xvfb-Diensteinstellungen für den automatischen Start


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

Xvfb Neustart


/etc/init.d/xvfb restart

Regelmäßige Erstellung des Ausführungsprozesses


crontab -e

cron


#Geben Sie die E-Mail-Adresse an, um die Ergebnisse der Cron-Ausführung zu überprüfen
[email protected]
# /home/kotanbo/test.Der py-Teil gibt den hochgeladenen Testfall an
#Folgendes wird regelmäßig am Sonntag um 9 Uhr ausgeführt
0 9 * * 0 export DISPLAY=localhost:1.0; python /home/kotanbo/test.py

Cron neu starten


/etc/init.d/crond restart

Referenz

Rubi + Selen-Webdriver in Linux-CUI-Umgebung Xvfb-Startskript [Selenserver automatisch mit Centos starten](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 /)

Nachtrag

2017/04/27

Das neueste Firefox und Selen wird mit den oben genannten wahrscheinlich nicht funktionieren. Ich habe den Inhalt der neu erstellten Umgebung beschrieben. Bitte überprüfen Sie ihn auch. => Ich habe einen regelmäßigen Ausführungsprozess mit CentOS7, Selenium, Python und Chrome durchgeführt

Recommended Posts

Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich möchte ein Spiel mit Python machen
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
[Patentanalyse] Ich habe versucht, mit Python eine Patentkarte zu erstellen, ohne Geld auszugeben
Ich habe versucht, mit Selenium + Python einfach ein vollautomatisches Anwesenheitssystem zu erstellen
Ich habe versucht, eine einfache Bilderkennungs-API mit Fast API und Tensorflow zu erstellen
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, das Artikel-Update des Livedoor-Blogs mit Python und Selen zu automatisieren.
Fraktal zum Erstellen und Spielen mit Python
Ich habe eine funktionale Sprache mit Python ausprobiert
Ich habe eine Web-API erstellt
Rubyist hat versucht, eine einfache API mit Python + Flasche + MySQL zu erstellen
Ein Memorandum beim automatischen Erwerb mit Selen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Ich habe versucht, Gesichtsmarkierungen mit Python und Dlib leicht zu erkennen
Ich habe versucht, Jojo mit LSTM ein seltsames Zitat zu machen
Ich habe versucht, mit Python + OpenCV eine Bildähnlichkeitsfunktion zu erstellen
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen
[1 Stunde Herausforderung] Ich habe versucht, eine Wahrsagerseite zu erstellen, die für Python zu geeignet ist
Ich habe einen Server mit Python-Socket und SSL erstellt und versucht, über den Browser darauf zuzugreifen
Ich habe versucht, einen Generator zu erstellen, der mit Python eine C # -Containerklasse aus CSV generiert
Ich habe auch versucht, die Funktionsmonade und die Zustandsmonade mit dem Generator in Python nachzuahmen
Ich möchte einen Sprachwechsler mit Python und SPTK in Bezug auf eine berühmte Site erstellen
Ich habe versucht, Web-Scraping mit Python und Selen
Ich habe Jacobian und teilweise Differenzierung mit Python versucht
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Ich habe Funktionssynthese und Curry mit Python versucht
Ich habe versucht, LLVM IR mit Python auszugeben
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Ich möchte mit Python in eine Datei schreiben
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen
[AWS] [GCP] Ich habe versucht, die Verwendung von Cloud-Diensten mit Python zu vereinfachen
[Outlook] Ich habe versucht, mit Python automatisch eine tägliche Berichtsmail zu erstellen