簡體   English   中英

如何在python splinter中使用flask驅動程序

[英]how to use flask driver in python splinter

我所有的代碼只是:

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。 如果您手動輸入網址,請檢查拼寫,然后重試。

我該怎么辦?

您收到404錯誤,因為您的Flask應用沒有路線

我相信Splinter Flask客戶端的目的是測試您的Flask應用程序,而不是測試/請求其他域。 使用Splinter Flask客戶端訪問另一個域只需從您的域請求URL。 您尚未為Flask應用指定任何路由,因此Flask響應為404錯誤。

這是一個顯示Splinter Flask客戶端如何工作的示例:

# 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!'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM