Python QWebEngineView 重定向到错误的语言页面
Posted
技术标签:
【中文标题】Python QWebEngineView 重定向到错误的语言页面【英文标题】:Python QWebEngineView redirects to wrong language page 【发布时间】:2017-04-17 14:54:00 【问题描述】:当我使用以下代码浏览页面时,结果是另一种语言(我认为是俄语)。当我在其他浏览器中浏览到相同的 url 时,我得到了预期的英文 404 页面。我尝试设置接受语言,但这没有帮助。我错过了什么?
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWebEngineWidgets import QWebEngineView
app = QtWidgets.QApplication(sys.argv)
w = QWebEngineView()
w.page().profile().setHttpAcceptLanguage('en') # This doesn't help
w.load(QtCore.QUrl('http://turbobit.net/download')) # Goes to russian? 404 page
w.show()
app.exec_()
以下 webkit 版本按预期工作
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWebKitWidgets import QWebView
app = QtWidgets.QApplication(sys.argv)
w = QWebView()
w.setUrl(QtCore.QUrl('http://turbobit.net/download')) # Loads correct English 404 page
w.show()
app.exec_()
【问题讨论】:
【参考方案1】:创建视图前需要设置语言:
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineProfile
app = QtWidgets.QApplication(sys.argv)
QWebEngineProfile.defaultProfile().setHttpAcceptLanguage('en')
w = QWebEngineView()
w.load(QtCore.QUrl('http://turbobit.net/download'))
w.show()
app.exec_()
【讨论】:
我花了太多时间尝试各种各样的东西,以至于与我最初的猜测如此接近。非常感谢!! 这实际上是 Qt 中的一个错误,将在 5.9(或者可能是 5.9.1)中修复:bugreports.qt.io/browse/QTBUG-60588以上是关于Python QWebEngineView 重定向到错误的语言页面的主要内容,如果未能解决你的问题,请参考以下文章