Выполнить сценарий Selenium на EC2 Windows Server с сайтом Flask в Windows Server 2012 - PullRequest
0 голосов
/ 10 сентября 2018

В настоящее время я создаю сценарий Selenium, который выполняется на Windows Server 2012 (через EC2).Этот сценарий должен выполняться всякий раз, когда достигается конечная точка API.Наш веб-сайт должен подключиться к конечной точке API (FLASK на Windows Server) и затем выполнить сценарий Selenium, хранящийся локально на этом сервере.

Веб-сайт> Веб-сайт Flask> Выполнение сценария Selenium.

Thisработает при локальном запуске на моем Macbook Pro.Это также работает при локальном запуске на Windows Server.Однако, когда он запускается через IIS с WFASTCGI, он просто ничего не делает на сервере.Защищенный режим отключен.Брандмауэр отключен.

Сайт FLASK:

from flask import Flask
from datetime import datetime
from subprocess import Popen
import sys
from selenium import webdriver
import os

app = Flask(__name__)


@app.route("/")
@app.route("/index")
def index():
    return "This is Index"

@app.route("/run_batch")
def run_batch():
    # Setup default variables
    process = os.system('C:/Python/Projects/czech_data_scripts/selenium/main.py')
    process.communicate()
    return "This is run_batch"


if __name__ == "__main__":
    print "******* START *******"
    start_time = datetime.now()

    app.run()

    end_time = datetime.now()
    print('Duration: {}'.format(end_time - start_time))
    print "******* END *******"

Сценарий Selenium:

from datetime import datetime
from selenium import webdriver


if __name__ == "__main__":
    print "******* START *******"
    start_time = datetime.now()

    # Setup default variables
    browser = webdriver.Ie("C:/IEDriverServer.exe")
    browser.get("http://www.google.com")

    end_time = datetime.now()
    print('Duration: {}'.format(end_time - start_time))
    print "******* END *******"

Журналы IIS (IP-адреса удалены FYI):

#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2018-09-10 12:35:43
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2018-09-10 12:35:43 xx.xxx.xxx.xxx GET / - 80 - xx.xxx.xxx.xxx Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_13_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 - 200 0 0 843
2018-09-10 12:35:43 xx.xxx.xxx.xxx GET /favicon.ico - 80 - xx.xxx.xxx.xxx
Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_13_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 http://ec2.us-east-2.compute.amazonaws.com/ 404 0 0 93
2018-09-10 12:36:13 xx.xxx.xxx.xxx GET /run_batch - 80 - xx.xxx.xxx.xxx Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_13_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 - 200 0 0 25563

#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2018-09-10 13:51:27
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2018-09-10 13:51:27 xxx.xx.xx.xxx GET / - 80 - xx.xx.xxx.xx Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_13_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 - 200 0 0 1265
2018-09-10 13:51:27 xxx.xx.xx.xxx GET /favicon.ico - 80 - xx.xx.xxx.xx Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_13_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 http://ec2.us-east-2.compute.amazonaws.com/ 404 0 0 140
2018-09-10 13:51:59 xxx.xx.xx.xxx GET /run_batch - 80 - xx.xx.xx.xx Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_13_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 - 500 0 0 28203

Редактировать : Попытка переноса скрипта в функцию run_batch, но при этом возвращается ошибка HTTP 500. Однако это работает на Localhost.Чувствую, что в IIS имеется неправильная конфигурация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...