我所有的代码都是:
from splinter import Browser
from flask import Flask, request
from splinter.driver.flaskclient import FlaskClient
app = Flask(__name__)
browser = Browser('flask', app=app)
browser.visit('https://www.google.com')
print(browser.html)
其中打印404 html: 404未找到。
未找到
在服务器上找不到请求的URL。如果您手动输入了URL,请检查拼写,然后重试。
有什么我该做的吗?
发布于 2016-08-09 23:56:21
您得到一个404错误,因为您的酒瓶应用程序没有路由。
我相信Splinter客户端的目的是测试您的Flask应用程序,而不是测试/请求其他域。使用Splinter客户端访问另一个域,只需从您的域请求URL即可。您还没有为您的Flask应用程序指定任何路由,所以Flask正在响应404错误。
下面是一个示例,展示了Splinter客户端是如何工作的:
# 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!'
下面是另一个测试,它演示了到底发生了什么:
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!'
https://stackoverflow.com/questions/38862891
复制相似问题