PySide6.QtWebEngineCore.QWebEngineProfile¶
- class QWebEngineProfile¶
QWebEngineProfile
类提供了一个由多个页面共享的网页引擎配置文件。更多…概要¶
方法¶
def
__init__()
def
cachePath()
def
clearHttpCache()
def
clientHints()
def
cookieStore()
def
downloadPath()
def
httpCacheType()
def
httpUserAgent()
def
isOffTheRecord()
def
scripts()
def
setCachePath()
def
settings()
def
storageName()
信号¶
静态函数¶
def
defaultProfile()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
一个网页引擎配置文件包含设置、脚本、持久性cookie策略以及属于该配置文件的所有网页引擎页面共享的访问链接列表。
属于该配置文件的所有页面共享一个共同的
QWebEngineSettings
实例,可以通过settings()
方法访问。同样,scripts()
方法提供了对共同QWebEngineScriptCollection
实例的访问。关于访问过的链接的信息与持久性cookie和其他持久性数据一起存储在由
storageName()
返回的存储中。持久性数据存储在通过调用setPersistentStoragePath()
设置的子目录中,缓存位于通过调用setCachePath()
设置的子目录中。缓存类型可以通过调用setHttpCacheType()
设置为内存中或磁盘上。如果只设置了存储名称,子目录将自动创建并命名。如果您手动设置任何值,应在创建属于配置文件的任何页面之前进行。可以通过调用
clearVisitedLinks()
或clearAllVisitedLinks()
来清除缓存中的链接。PersistentCookiesPolicy
描述了会话和持久性cookie是否保存到内存或磁盘并从内存或磁盘恢复。配置文件可以用来隔离页面。一个典型的用例是为隐私浏览模式创建一个专用的无记录配置文件。使用
QWebEngineProfile()
而不定义存储名称会构建一个新的无记录配置文件,该配置文件不会在本地机器上留下任何记录,并且没有持久数据或缓存。isOffTheRecord()
方法可以用来检查配置文件是否为无记录。默认配置文件可以通过
defaultProfile()
访问。它是一个内置的配置文件,所有未特别使用其他配置文件创建的网页都属于此配置文件。实现
QWebEngineUrlRequestInterceptor
接口并通过setUrlRequestInterceptor()
在配置文件上注册拦截器,可以在URL请求(QWebEngineUrlRequestInfo
)到达Chromium的网络堆栈之前拦截、阻止和修改它们。可以通过
installUrlSchemeHandler()
为配置文件注册一个QWebEngineUrlSchemeHandler
,以添加对自定义URL方案的支持。然后,对该方案的请求将作为QWebEngineUrlRequestJob
对象发送到requestStarted()
。可以通过使用
setSpellCheckEnabled()
方法为每个配置文件启用HTML表单字段的拼写检查,并且可以通过使用setSpellCheckLanguages()
方法设置当前用于拼写检查的语言。- class HttpCacheType¶
此枚举描述了HTTP缓存类型:
常量
描述
QWebEngineProfile.MemoryHttpCache
使用内存缓存。如果设置了
off-the-record
,这是默认设置。QWebEngineProfile.DiskHttpCache
使用磁盘缓存。如果配置文件不是
off-the-record
,这是默认设置。如果在off-the-record
配置文件上设置,将改为设置MemoryHttpCache
。QWebEngineProfile.NoCache
禁用内存和磁盘缓存。(在 Qt 5.7 中添加)
- class PersistentCookiesPolicy¶
此枚举描述了cookie持久性的策略:
常量
描述
QWebEngineProfile.NoPersistentCookies
会话和持久性cookie都存储在内存中。如果设置了
off-the-record
或没有可用的持久数据路径,这是唯一可能的设置。QWebEngineProfile.AllowPersistentCookies
标记为持久的Cookies会被保存到磁盘并从磁盘恢复,而会话Cookies仅存储在磁盘上用于崩溃恢复。这是默认设置。
QWebEngineProfile.ForcePersistentCookies
会话和持久性 cookie 都会保存到磁盘并从磁盘恢复。
- class PersistentPermissionsPolicy¶
此枚举描述了权限持久化的策略:
常量
描述
QWebEngineProfile.PersistentPermissionsPolicy.AskEveryTime
应用程序每次需要权限时都会询问,无论之前是否已经授予过权限。这是为了与现有应用程序向后兼容,否则不推荐使用。
QWebEngineProfile.PersistentPermissionsPolicy.StoreInMemory
只有在第一次需要权限时才会发出请求。任何后续请求将根据初始用户选择自动批准或拒绝。这将延续到使用相同
QWebEngineProfile
实例的所有页面,直到应用程序关闭。如果设置了off-the-record
或没有可用的持久数据路径,则应用此设置。QWebEngineProfile.PersistentPermissionsPolicy.StoreOnDisk
与
StoreInMemory
的工作方式相同,但权限会保存到磁盘并从磁盘恢复。这是默认设置。在版本6.8中添加。
使用父级
parent
构建一个新的脱机配置文件。一个不记录的配置文件不会在本地机器上留下任何记录,也没有持久的数据或缓存。因此,HTTP缓存只能在内存中,而cookie只能是非持久的。尝试更改这些设置将不会产生任何效果。
另请参阅
- __init__(name[, parent=None])
- Parameters:
name – str
parent –
QObject
使用存储名称
storageName
和父级parent
构建一个新的配置文件。存储名称必须是唯一的。
基于磁盘的
QWebEngineProfile
应在应用程序退出时或之前销毁,否则缓存和持久数据可能无法完全刷新到磁盘。另请参阅
- cachePath()¶
- Return type:
字符串
返回用于缓存的路径。
默认情况下,这是在StandardPaths::CacheLocation下的一个特定于QtWebengine/StorageName的子目录中。
注意
使用 QStandardPaths::writableLocation(QStandardPaths::CacheLocation) 来获取 QStandardPaths::CacheLocation 路径。
- clearAllVisitedLinks()¶
清除访问过的链接数据库中的所有链接。
另请参阅
- clearHttpCache()¶
删除配置文件的缓存条目。
- clearHttpCacheCompleted()¶
当
clearHttpCache()
操作完成时,会发出此信号。另请参阅
- clearVisitedLinks(urls)¶
- Parameters:
urls – QUrl 的列表
清除访问链接数据库中的
urls
链接。- clientCertificateStore()¶
- Return type:
返回配置文件的客户端证书存储。
- clientHints()¶
- Return type:
返回与此浏览上下文关联的客户端提示设置。
- cookieStore()¶
- Return type:
返回此配置文件的cookie存储。
- static defaultProfile()¶
- Return type:
返回默认配置文件。
默认配置文件是离线的。
另请参阅
- downloadPath()¶
- Return type:
字符串
下载文件存储位置的路径。
- downloadRequested(download)¶
- Parameters:
每当触发下载时,都会发出此信号。
download
参数保存下载的状态。下载必须通过accept()
明确接受,否则默认情况下将被取消。下载项由配置文件父级管理。如果未被接受,它将在信号发出后立即被删除。此信号不能与队列连接一起使用。- httpAcceptLanguage()¶
- Return type:
字符串
返回Accept-Language HTTP请求头字段的值。
- httpCacheMaximumSize()¶
- Return type:
整数
返回HTTP缓存的最大大小,单位为字节。
如果大小由QtWebEngine自动控制,将返回
0
。- httpCacheType()¶
- Return type:
返回使用的HTTP缓存类型。
如果配置文件是离线的,则返回
MemoryHttpCache
。- httpUserAgent()¶
- Return type:
字符串
返回与HTTP一起发送的用户代理字符串,用于识别浏览器。
注意
在Windows 8.1及更新版本上,默认的用户代理将始终报告“Windows NT 6.2”(Windows 8),除非应用程序包含声明支持更新Windows版本的清单。
- installUrlSchemeHandler(scheme, handler)¶
- Parameters:
scheme –
QByteArray
handler –
QWebEngineUrlSchemeHandler
在配置文件中为自定义URL方案
scheme
注册一个处理程序handler
。在应用程序启动时,首先需要使用
registerScheme
注册方案。- isOffTheRecord()¶
- Return type:
布尔
如果这是一个不会在计算机上留下记录的隐身配置文件,则返回
true
。这将强制将cookies和HTTP缓存存储在内存中,同时也强制所有其他通常持久化的数据存储在内存中。
- isPushServiceEnabled()¶
- Return type:
布尔
如果推送消息服务已启用,则返回
true
。- isSpellCheckEnabled()¶
- Return type:
布尔
如果拼写检查器已启用,则返回
true
;否则返回false
。- listAllPermissions()¶
- Return type:
返回一个
QWebEnginePermission
对象的QList,每个对象代表权限存储中当前存在的单个权限。返回的列表包含此配置文件中所有先前授予/拒绝的权限,前提是它们是持久类型的。注意
当persistentPermissionPolicy()设置为
AskEveryTime
时,这将返回一个空列表。返回一个
QWebEnginePermission
对象的QList,每个对象代表权限存储中当前存在的单个权限。返回的列表包含与此配置文件的特定securityOrigin
关联的所有先前授予/拒绝的权限,前提是它们是持久类型的。注意
由于权限是基于每个源授予的,提供的
securityOrigin
将被剥离为其源形式,返回的列表将包含该源的所有权限。因此,传递https://www.example.com/some/page.html与仅传递https://www.example.com/是相同的。注意
当persistentPermissionPolicy()设置为
AskEveryTime
时,这将返回一个空列表。- listPermissionsForPermissionType(permissionType)¶
- Parameters:
permissionType –
PermissionType
- Return type:
返回一个
QWebEnginePermission
对象的QList,每个对象代表权限存储中当前存在的单个权限。返回的列表包含提供的permissionType
的所有先前授予/拒绝的权限。如果permissionType是非持久的,列表将为空。注意
当persistentPermissionPolicy()设置为
AskEveryTime
时,这将返回一个空列表。- persistentCookiesPolicy()¶
- Return type:
返回当前持久性cookie的策略。
如果配置文件是离线的,
NoPersistentCookies
将被返回。- persistentPermissionsPolicy()¶
- Return type:
返回当前持久权限的策略。
非记录配置文件不允许将数据保存到磁盘,因此它们只能返回
StoreInMemory
或AskEveryTime
。- persistentStoragePath()¶
- Return type:
字符串
返回用于存储浏览器和网页内容持久化数据的路径。
持久数据包括持久性cookies、HTML5本地存储和访问过的链接。
默认情况下,这是在 QtWebengine/StorageName 特定子目录下的 QStandardPaths::DataLocation 下面。
注意
使用 QStandardPaths::writableLocation(QStandardPaths::DataLocation) 来获取 QStandardPaths::DataLocation 路径。
- queryPermission(securityOrigin, permissionType)¶
- Parameters:
securityOrigin –
QUrl
permissionType –
PermissionType
- Return type:
返回一个与提供的
securityOrigin
和permissionType
对应的单个权限的QWebEnginePermission
对象。该对象可用于查询权限的当前状态,或更改它。权限不需要已经存在;如果已知某个网站会使用该权限,返回的对象也可用于预先授予权限。您可以使用此功能预先授予非持久类型的权限。这样做将使权限保持在授予(或拒绝)状态,直到下次具有相关来源的网站请求它为止。届时,权限的生命周期将与特定网页的生命周期绑定,离开页面将使权限失效。
- removeAllUrlSchemeHandlers()¶
移除配置文件中安装的所有自定义URL方案处理程序。
- removeUrlScheme(scheme)¶
- Parameters:
方案 –
QByteArray
从配置文件中移除自定义URL方案
scheme
。- removeUrlSchemeHandler(handler)¶
- Parameters:
handler –
QWebEngineUrlSchemeHandler
从配置文件中移除自定义URL方案处理程序
handler
。另请参阅
- scripts()¶
- Return type:
返回注入到共享此配置文件的所有页面中的脚本集合。
- setCachePath(path)¶
- Parameters:
路径 – 字符串
覆盖用于磁盘缓存的默认路径,将其设置为
path
。如果设置为空字符串,则恢复默认路径。
另请参阅
- setDownloadPath(path)¶
- Parameters:
路径 – 字符串
覆盖用于下载位置的默认路径,将其设置为
path
。如果设置为空字符串,则恢复默认路径。
另请参阅
- setHttpAcceptLanguage(httpAcceptLanguage)¶
- Parameters:
httpAcceptLanguage – str
将Accept-Language HTTP请求头字段的值设置为
httpAcceptLanguage
。另请参阅
- setHttpCacheMaximumSize(maxSize)¶
- Parameters:
maxSize – int
将HTTP缓存的最大大小设置为
maxSize
字节。将其设置为
0
意味着大小将由 QtWebEngine 自动控制。- setHttpCacheType(httpCacheType)¶
- Parameters:
httpCacheType –
HttpCacheType
将HTTP缓存类型设置为
httpCacheType
。注意
在已经有一些缓存条目的配置文件上,将
httpCacheType
设置为NoCache
不会触发这些条目的移除。- setHttpUserAgent(userAgent)¶
- Parameters:
userAgent – str
覆盖默认的用户代理字符串,将其设置为
userAgent
。另请参阅
- setNotificationPresenter(notificationPresenter)¶
- Parameters:
notificationPresenter –
PyCallable
- setPersistentCookiesPolicy(newPersistentCookiesPolicy)¶
- Parameters:
newPersistentCookiesPolicy –
PersistentCookiesPolicy
将持久性cookie的策略设置为
newPersistentCookiesPolicy
。- setPersistentPermissionsPolicy(newPersistentPermissionsPolicy)¶
- Parameters:
newPersistentPermissionsPolicy –
PersistentPermissionsPolicy
将持久权限的策略设置为
newPersistentPermissionsPolicy
。- setPersistentStoragePath(path)¶
- Parameters:
路径 – 字符串
覆盖用于存储持久化Web引擎数据的默认路径。
如果
path
设置为空字符串,则恢复默认路径。- setPushServiceEnabled(enabled)¶
- Parameters:
enabled – 布尔值
如果
enable
为true
,则启用推送消息服务,否则禁用它。注意
Qt WebEngine 使用 Firebase Cloud Messaging (FCM) 作为浏览器推送服务。因此,所有推送消息都将通过 Google 推送服务及其相应的服务器。
- setSpellCheckEnabled(enabled)¶
- Parameters:
enabled – 布尔值
如果
enable
为true
,则启用拼写检查器,否则禁用它。- setSpellCheckLanguages(languages)¶
- Parameters:
语言 – 字符串列表
设置拼写检查器的当前
语言
列表。每种语言应与.bdic
字典的名称匹配。例如,语言en-US
将加载en-US.bdic
字典文件。请参阅拼写检查器功能文档了解如何搜索字典文件。
有关如何编译
.bdic
词典的更多信息,请参阅拼写检查器示例。- setUrlRequestInterceptor(interceptor)¶
- Parameters:
注册一个请求拦截器单例
interceptor
以拦截URL请求。配置文件不拥有指针的所有权。
- settings()¶
- Return type:
返回此配置文件中所有页面的默认设置。
- spellCheckLanguages()¶
- Return type:
字符串列表
返回拼写检查器使用的语言列表。
- storageName()¶
- Return type:
字符串
返回配置文件的存储名称。
存储名称用于为每个使用磁盘的配置文件提供单独的持久化数据和缓存的子目录。
- urlSchemeHandler(scheme)¶
- Parameters:
方案 –
QByteArray
- Return type:
返回为URL方案
scheme
注册的自定义URL方案处理程序。如果
url
被此配置文件视为已访问的链接,则返回true
。