Skip to main content
 首页 » 编程设计

Python QWebEngineView 重定向到错误的语言页面

2024年08月20日47www_RR

当我使用以下代码浏览到一个页面时,结果是另一种语言(我认为是俄语)。当我在其他浏览器中浏览到相同的 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_() 

请您参考如下方法:

创建 View 前需要设置语言:

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_()