В настоящее время я создаю сценарий 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 имеется неправильная конфигурация.