Vor Ich habe einen regelmäßigen Ausführungsprozess mit Selenium und Python durchgeführt Ich habe es getan, aber es hat aufgehört zu funktionieren, bevor ich es wusste ... Selbst wenn ich die Umgebung mit dem neuesten Firefox und Selen wieder aufbaue, funktioniert es nicht. (Brauchen Sie einen Geckodriver? Implizit funktioniert das Warten nicht? Kann centos6 nicht parallel ausführen? Kann nicht parallel ausgeführt werden?
Also wechselte ich zu CentOS 7 und Chrome und versuchte, die Umgebung aufzubauen.
Selenium
Seleninstallation
yum install python-pip
pip install selenium
Xvfb
Xvfb-Installation
yum install xorg-x11-server-Xvfb
Erstellen Sie einen Xvfb-Dienst
vim /usr/lib/systemd/system/Xvfb.service
/usr/lib/systemd/system/Xvfb.service
[Unit]
Description=Virtual Framebuffer X server for X Version 11
[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/Xvfb
ExecStart=/usr/bin/Xvfb $OPTION
ExecReload=/bin/kill -HUP ${MAINPID}
[Install]
WantedBy=multi-user.target
Erstellen Sie eine Einstellungsdatei für Xvfb-Umgebungsvariablen
vim /etc/sysconfig/Xvfb
/etc/sysconfig/Xvfb
# Xvfb Enviroment File
OPTION=":1 -screen 0 1366x768x24"
Starten Sie den Xvfb-Dienst
systemctl enable Xvfb
systemctl start Xvfb
Chrome
Erstellen Sie eine Chrome-Repository-Datei
vim /etc/yum.repos.d/google-chrome.repo
bash:/etc/yum.repos.d/google-chrome.repo
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
google-chrome-stabile Installation
yum install google-chrome-stable
Für japanische Anzeige
Installation japanischer Schriftarten
yum install ipa-pgothic-fonts.noarch
ChromeDriver - WebDriver for Chrome : Downloads Laden Sie den entsprechenden Treiber von herunter. Diesmal Version 2.29.
Installation des Chrome-Treibers
wget http://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
mv chromedriver /usr/local/bin
rm chromedriver_linux64.zip
Ich habe versucht, die oben genannten Konstruktionsinhalte in das Konfigurationsmanagement-Tool "itamae" zu integrieren. Wenn Sie möchten, bitte. => https://github.com/kotanbo/itamae-selenium-centos7 (Das Muster von CentOS6 ist in einigen (Xvfb) beschrieben, aber ich habe das Bauen mit CentOS6 aufgegeben ...)
ChromeDriver - WebDriver for Chrome : Getting started Das Folgende ist ein Beispiel mit Bezug auf.
Python-Beispiel
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import os, time, datetime, re, util, sys
import selenium.webdriver.chrome.service as service
class Sample():
def __init__(self):
self.aservice = service.Service('/usr/local/bin/chromedriver')
self.aservice.start()
capabilities = {'chrome.binary': '/usr/bin/google-chrome-stable', "chromeOptions": {"args": ['--no-sandbox']}}
self.driver = webdriver.Remote(self.aservice.service_url, capabilities)
self.driver.implicitly_wait(3)
self.base_url = "http://example.jp/"
def __del__(self):
self.driver.close()
def sample(self):
driver = self.driver
try:
driver.get(self.base_url + "/home")
driver.find_element_by_xpath("//a[@id='LoginButton']/img").click()
except:
finally:
sample = Sample()
sample.sample()
Cron Probe
0 9 * * * export DISPLAY=localhost:1.0; python /root/selenium/sample.py
0 9 * * * export DISPLAY=localhost:1.0; python /root/selenium/sample.py
0 4 * * * pkill -KILL -f chromedriver
Starten Sie Xvfb als Daemon mit systemd Chrome unter CentOS 7 installieren