QWebEngineProfile

The QWebEngineProfile class provides a web engine profile shared by multiple pages. More

Inheritance diagram of PySide2.QtWebEngineWidgets.QWebEngineProfile

Synopsis

Functions

Signals

Static functions

Detailed Description

A web engine profile contains settings, scripts, persistent cookie policy, and the list of visited links shared by all web engine pages that belong to the profile.

All pages that belong to the profile share a common QWebEngineSettings instance, which can be accessed with the settings() method. Likewise, the scripts() method provides access to a common QWebEngineScriptCollection instance.

Information about visited links is stored together with persistent cookies and other persistent data in a storage returned by storageName() . Persistent data is stored in a subdirectory set by calling setPersistentStoragePath() , and the cache is located in a subdirectory set by calling setCachePath() . The cache type can be set to in-memory or on-disk by calling setHttpCacheType() . If only the storage name is set, the subdirectories are created and named automatically. If you set any of the values manually, you should do it before creating any pages that belong to the profile.

The cache can be cleared of links by calling clearVisitedLinks() or clearAllVisitedLinks() . PersistentCookiesPolicy describes whether session and persistent cookies are saved to and restored from memory or disk.

Profiles can be used to isolate pages from each other. A typical use case is a dedicated off-the-record profile for a private browsing mode. Using QWebEngineProfile() without defining a storage name constructs a new off-the-record profile that leaves no record on the local machine, and has no persistent data or cache. The isOffTheRecord() method can be used to check whether a profile is off-the-record.

The default profile can be accessed by defaultProfile() . It is a built-in profile that all web pages not specifically created with another profile belong to.

Implementing the QWebEngineUrlRequestInterceptor interface and registering the interceptor on a profile by setUrlRequestInterceptor() enables intercepting, blocking, and modifying URL requests ( QWebEngineUrlRequestInfo ) before they reach the networking stack of Chromium.

A QWebEngineUrlSchemeHandler can be registered for a profile by installUrlSchemeHandler() to add support for custom URL schemes. Requests for the scheme are then issued to requestStarted() as QWebEngineUrlRequestJob objects.

Spellchecking HTML form fields can be enabled per profile by using the setSpellCheckEnabled() method and the current languages used for spellchecking can be set by using the setSpellCheckLanguages() method.

class PySide2.QtWebEngineWidgets.QWebEngineProfile([parent=Q_NULLPTR])

PySide2.QtWebEngineWidgets.QWebEngineProfile(name[, parent=Q_NULLPTR])

param parent:

PySide2.QtCore.QObject

param name:

str

Constructs a new off-the-record profile with the parent parent .

An off-the-record profile leaves no record on the local machine, and has no persistent data or cache. Thus, the HTTP cache can only be in memory and the cookies can only be non-persistent. Trying to change these settings will have no effect.

See also

isOffTheRecord()

Constructs a new profile with the storage name storageName and parent parent .

The storage name must be unique.

A disk-based QWebEngineProfile should be destroyed on or before application exit, otherwise the cache and persistent data may not be fully flushed to disk.

See also

storageName()

PySide2.QtWebEngineWidgets.QWebEngineProfile.HttpCacheType

This enum describes the HTTP cache type:

Constant

Description

QWebEngineProfile.MemoryHttpCache

Use an in-memory cache. This is the default if off-the-record is set.

QWebEngineProfile.DiskHttpCache

Use a disk cache. This is the default if the profile is not off-the-record. If set on an off-the-record profile will instead set MemoryHttpCache.

QWebEngineProfile.NoCache

Disable both in-memory and disk caching. (Added in Qt 5.7)

PySide2.QtWebEngineWidgets.QWebEngineProfile.PersistentCookiesPolicy

This enum describes policy for cookie persistency:

Constant

Description

QWebEngineProfile.NoPersistentCookies

Both session and persistent cookies are stored in memory. This is the only setting possible if off-the-record is set or no persistent data path is available.

QWebEngineProfile.AllowPersistentCookies

Cookies marked persistent are saved to and restored from disk, whereas session cookies are only stored to disk for crash recovery. This is the default setting.

QWebEngineProfile.ForcePersistentCookies

Both session and persistent cookies are saved to and restored from disk.

PySide2.QtWebEngineWidgets.QWebEngineProfile.cachePath()
Return type:

str

Returns the path used for caches.

By default, this is below StandardPaths::CacheLocation in a QtWebengine/StorageName specific subdirectory.

Note

Use writableLocation ( CacheLocation ) to obtain the CacheLocation path.

See also

setCachePath() storageName() writableLocation()

Clears all links from the visited links database.

PySide2.QtWebEngineWidgets.QWebEngineProfile.clearHttpCache()

Removes the profile’s cache entries.

Parameters:

urls

Clears the links in urls from the visited links database.

PySide2.QtWebEngineWidgets.QWebEngineProfile.cookieStore()
Return type:

PySide2.QtWebEngineCore.QWebEngineCookieStore

Returns the cookie store for this profile.

static PySide2.QtWebEngineWidgets.QWebEngineProfile.defaultProfile()
Return type:

PySide2.QtWebEngineWidgets.QWebEngineProfile

Returns the default profile.

The default profile uses the storage name “Default”.

See also

storageName()

PySide2.QtWebEngineWidgets.QWebEngineProfile.downloadPath()
Return type:

str

The path to the location where the downloaded files are stored.

Note

By default, the download path is DownloadLocation .

See also

setDownloadPath() writableLocation()

PySide2.QtWebEngineWidgets.QWebEngineProfile.downloadRequested(download)
Parameters:

downloadPySide2.QtWebEngineWidgets.QWebEngineDownloadItem

PySide2.QtWebEngineWidgets.QWebEngineProfile.httpAcceptLanguage()
Return type:

str

Returns the value of the Accept-Language HTTP request-header field.

PySide2.QtWebEngineWidgets.QWebEngineProfile.httpCacheMaximumSize()
Return type:

int

Returns the maximum size of the HTTP cache in bytes.

Will return 0 if the size is automatically controlled by QtWebEngine .

PySide2.QtWebEngineWidgets.QWebEngineProfile.httpCacheType()
Return type:

HttpCacheType

Returns the type of HTTP cache used.

If the profile is off-the-record, MemoryHttpCache is returned.

PySide2.QtWebEngineWidgets.QWebEngineProfile.httpUserAgent()
Return type:

str

Returns the user-agent string sent with HTTP to identify the browser.

Note

On Windows 8.1 and newer, the default user agent will always report “Windows NT 6.2” (Windows 8), unless the application does contain a manifest that declares newer Windows versions as supported.

PySide2.QtWebEngineWidgets.QWebEngineProfile.installUrlSchemeHandler(scheme, arg__2)
Parameters:

Registers a handler handler for custom URL scheme scheme in the profile.

It is necessary to first register the scheme with registerScheme at application startup.

PySide2.QtWebEngineWidgets.QWebEngineProfile.isOffTheRecord()
Return type:

bool

Returns true if this is an off-the-record profile that leaves no record on the computer.

This will force cookies and HTTP cache to be in memory, but also force all other normally persistent data to be stored in memory.

PySide2.QtWebEngineWidgets.QWebEngineProfile.isSpellCheckEnabled()
Return type:

bool

Returns true if the spell checker is enabled; otherwise returns false .

PySide2.QtWebEngineWidgets.QWebEngineProfile.isUsedForGlobalCertificateVerification()
Return type:

bool

Returns true if this profile is currently being used for global certificate verification.

PySide2.QtWebEngineWidgets.QWebEngineProfile.persistentCookiesPolicy()
Return type:

PersistentCookiesPolicy

Returns the current policy for persistent cookies.

If the profile is off-the-record, NoPersistentCookies is returned.

PySide2.QtWebEngineWidgets.QWebEngineProfile.persistentStoragePath()
Return type:

str

Returns the path used to store persistent data for the browser and web content.

Persistent data includes persistent cookies, HTML5 local storage, and visited links.

By default, this is below DataLocation in a QtWebengine/StorageName specific subdirectory.

Note

Use writableLocation ( DataLocation ) to obtain the DataLocation path.

See also

setPersistentStoragePath() storageName() writableLocation()

PySide2.QtWebEngineWidgets.QWebEngineProfile.removeAllUrlSchemeHandlers()

Removes all custom URL scheme handlers installed in the profile.

PySide2.QtWebEngineWidgets.QWebEngineProfile.removeUrlScheme(scheme)
Parameters:

schemePySide2.QtCore.QByteArray

Removes the custom URL scheme scheme from the profile.

PySide2.QtWebEngineWidgets.QWebEngineProfile.removeUrlSchemeHandler(arg__1)
Parameters:

arg__1PySide2.QtWebEngineCore.QWebEngineUrlSchemeHandler

Removes the custom URL scheme handler handler from the profile.

PySide2.QtWebEngineWidgets.QWebEngineProfile.scripts()
Return type:

PySide2.QtWebEngineWidgets.QWebEngineScriptCollection

Returns the collection of scripts that are injected into all pages that share this profile.

PySide2.QtWebEngineWidgets.QWebEngineProfile.setCachePath(path)
Parameters:

path – str

Overrides the default path used for disk caches, setting it to path .

If set to the null string, the default path is restored.

See also

cachePath()

PySide2.QtWebEngineWidgets.QWebEngineProfile.setDownloadPath(path)
Parameters:

path – str

Overrides the default path used for download location, setting it to path .

If set to the null string, the default path is restored.

See also

downloadPath()

PySide2.QtWebEngineWidgets.QWebEngineProfile.setHttpAcceptLanguage(httpAcceptLanguage)
Parameters:

httpAcceptLanguage – str

Sets the value of the Accept-Language HTTP request-header field to httpAcceptLanguage .

PySide2.QtWebEngineWidgets.QWebEngineProfile.setHttpCacheMaximumSize(maxSize)
Parameters:

maxSize – int

Sets the maximum size of the HTTP cache to maxSize bytes.

Setting it to 0 means the size will be controlled automatically by QtWebEngine .

PySide2.QtWebEngineWidgets.QWebEngineProfile.setHttpCacheType(arg__1)
Parameters:

arg__1HttpCacheType

Sets the HTTP cache type to httpCacheType .

PySide2.QtWebEngineWidgets.QWebEngineProfile.setHttpUserAgent(userAgent)
Parameters:

userAgent – str

Overrides the default user-agent string, setting it to userAgent .

See also

httpUserAgent()

PySide2.QtWebEngineWidgets.QWebEngineProfile.setPersistentCookiesPolicy(arg__1)
Parameters:

arg__1PersistentCookiesPolicy

Sets the policy for persistent cookies to newPersistentCookiesPolicy .

PySide2.QtWebEngineWidgets.QWebEngineProfile.setPersistentStoragePath(path)
Parameters:

path – str

Overrides the default path used to store persistent web engine data.

If path is set to the null string, the default path is restored.

PySide2.QtWebEngineWidgets.QWebEngineProfile.setRequestInterceptor(interceptor)
Parameters:

interceptorPySide2.QtWebEngineCore.QWebEngineUrlRequestInterceptor

Registers a request interceptor singleton interceptor to intercept URL requests.

The profile does not take ownership of the pointer.

Interceptors installed with this method will call interceptRequest on the I/O thread. Therefore the user has to provide thread-safe interaction with the other user classes. For a duration of this call ui thread is blocked. Use setUrlRequestInterceptor instead.

See also

QWebEngineUrlRequestInfo

PySide2.QtWebEngineWidgets.QWebEngineProfile.setSpellCheckEnabled(enabled)
Parameters:

enabled – bool

Enables spell checker if enable is true , otherwise disables it.

PySide2.QtWebEngineWidgets.QWebEngineProfile.setSpellCheckLanguages(languages)
Parameters:

languages – list of strings

Sets the current list of languages for the spell checker. Each language should match the name of the .bdic dictionary. For example, the language en-US will load the en-US.bdic dictionary file.

See the Spellchecker feature documentation for how dictionary files are searched.

For more information about how to compile .bdic dictionaries, see the Spellchecker Example .

PySide2.QtWebEngineWidgets.QWebEngineProfile.setUrlRequestInterceptor(interceptor)
Parameters:

interceptorPySide2.QtWebEngineCore.QWebEngineUrlRequestInterceptor

Registers a request interceptor singleton interceptor to intercept URL requests.

The profile does not take ownership of the pointer.

See also

QWebEngineUrlRequestInfo QWebEngineUrlRequestInterceptor

PySide2.QtWebEngineWidgets.QWebEngineProfile.setUseForGlobalCertificateVerification([enabled=true])
Parameters:

enabled – bool

Sets if this profile is to be used for downloading and caching when needed during certificate verification, for instance for OCSP, CRLs, and AIA.

Only one QWebEngineProfile can do this at a time, and it is recommended that the profile fullfilling this role has a disk HTTP cache to avoid needlessly re-downloading. If you set the option on a second profile, it will be disabled on the profile it is currently set.

As long as one profile has enabled set to true , all other profiles will be able to use it for their certificate verification.

Originally only affected Linux/NSS installations where it enabled OCSP.

Since 5.15.3, no longer does anything. Certificate verification is done using AIO on the requesting profile.

PySide2.QtWebEngineWidgets.QWebEngineProfile.settings()
Return type:

PySide2.QtWebEngineWidgets.QWebEngineSettings

Returns the default settings for all pages in this profile.

PySide2.QtWebEngineWidgets.QWebEngineProfile.spellCheckLanguages()
Return type:

list of strings

Returns the list of languages used by the spell checker.

PySide2.QtWebEngineWidgets.QWebEngineProfile.storageName()
Return type:

str

Returns the storage name for the profile.

The storage name is used to give each profile that uses the disk separate subdirectories for persistent data and cache.

PySide2.QtWebEngineWidgets.QWebEngineProfile.urlSchemeHandler(arg__1)
Parameters:

arg__1PySide2.QtCore.QByteArray

Return type:

PySide2.QtWebEngineCore.QWebEngineUrlSchemeHandler

Returns the custom URL scheme handler register for the URL scheme scheme .

PySide2.QtWebEngineWidgets.QWebEngineProfile.visitedLinksContainsUrl(url)
Parameters:

urlPySide2.QtCore.QUrl

Return type:

bool

Returns true if url is considered a visited link by this profile.