Итак, у меня есть электронное приложение, в котором есть кнопка.
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css">
<title>Home</title>
</head>
<body>
<div class="ui main text container segment">
<div class="ui huge header">Click Submit To Go To <span style="color: red;">Index Page</span></div>
<form class="ui form">
<a href="http://127.0.0.1:5000/?" class="ui inverted blue big button">Submit</a>
</form>
<!-- this is to see the data i passed through to see if the function gets all the right information -->
<p>{{n}}</p>
<h1>{{k}}</h1>
</div>
</body>
</html>
Когда запускается электронное приложение, у меня есть файл server.py, который запускается в фоновом режиме:
app.on('ready', function() {
server = require('child_process').spawn('python', ['../engine/server.py']);
});
, и этот сервер сделан с flask:
sys.path.insert(0, "/usr/local/lib/python3.7/site-packages")
from flask import Flask, render_template, request
app = Flask(__name__,template_folder='../gui')
@app.route('/')
def index():
return render_template('index.html')
После того, как кнопка нажата, она указывает на http://127.0.0.1: 5000 / ? где сервер работает с flask. Оттуда вы заполняете форму и нажимаете submit, которая отправляет POST-запрос.
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css">
<title>URL Page</title>
</head>
<body>
<div class="ui main text container segment">
<div class="ui huge header">Enter website name and click submit</div>
<form name="urlform" action="." class="ui form" method="POST">
<div class="field">
<label>Web Site Name</label>
<input name="website_name" type="text" placeholder="eg. google">
</div>
<input class="ui inverted blue big button" type="submit">
</form>
</div>
</body>
</html>
После того, как почтовый запрос будет обработан, он запускает функцию:
@app.route('/', methods=['POST'])
def get_gavlue:
keys = {
"website_name": request.form['website_name']
}
json_data = json.dumps(keys)
driver = webdriver.Chrome('../engine/chromedriver')
driver.get('https://www.{0}.com'.format(k['website_name'])) # lets say user typed in google
Что это должно сделать После того, как пользователь щелкнет кнопку «Отправить» в форме, он должен запустить этот пост-запрос, а затем получить значение имени_сайта-сайта и использовать драйвер, чтобы открыть chrome и go для этого веб-сайта. Я протестировал драйвер и открыл google chrome, и он работает, когда скрипт запускается сам по себе, но когда я хочу запустить скрипт при использовании его с веб-приложением, он не работает, и я не уверен, почему , Мне было интересно, если кто-то может помочь мне с этим. Спасибо!