Sie erhalten einen Fehler 404, weil Ihre Flask App keine Routen hat.
Ich glaube, der Zweck des Splinter Flask Clients besteht darin, Ihre Flask App zu testen und andere Domains nicht zu testen/anzufordern. Wenn Sie eine andere Domäne mit dem Splinter Flask-Client besuchen, wird einfach die URL von Ihrer Domain angefordert. Sie haben keine Routen für Ihre Flask-App angegeben. Daher reagiert Flask mit einem 404-Fehler.
Hier ist ein Beispiel, das die Splinter Flask Client zeigt, wie funktioniert:
# define simple flask app
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
@app.route('/<name>')
def hello_world(name):
return 'Hello, {name}!'.format(name=name)
# initiate splinter flask client
from splinter import Browser
browser = Browser('flask', app=app)
# simple flask app assertions
browser.visit('http://127.0.0.1:5000')
assert browser.html == 'Hello, World!'
browser.visit('http://127.0.0.1:5000/haofly')
assert browser.html == 'Hello, haofly!'
# Notice that requesting other domains act as if it's your domain
# Here it is requesting the previously defined flask routes
browser.visit('http://www.google.com')
assert browser.html == 'Hello, World!'
browser.visit('http://www.google.com/haofly')
assert browser.html == 'Hello, haofly!'
Hier ist ein weiterer Test, der zeigt, was wirklich vor sich geht:
from flask import Flask
app = Flask(__name__)
@app.errorhandler(404)
def page_not_found(e):
return 'Flask 404 error!', 404
from splinter import Browser
browser = Browser('flask', app=app)
browser.visit('http://www.google.com/haofly')
assert browser.html == 'Flask 404 error!'
haben Sie bekam Firefox, Glaskolben, lxml und cssselect Eingerichtet? –
Ich habe es gelöst, danke – haofly