QWebEngineScript

The QWebEngineScript class encapsulates a JavaScript program. More

Inheritance diagram of PySide2.QtWebEngineWidgets.QWebEngineScript

Synopsis

Functions

Detailed Description

QWebEngineScript enables the programmatic injection of so called user scripts in the JavaScript engine at different points, determined by injectionPoint() , during the loading of web contents.

Scripts can be executed either in the main JavaScript world , along with the rest of the JavaScript coming from the web contents, or in their own isolated world. While the DOM of the page can be accessed from any world, JavaScript variables of a function defined in one world are not accessible from a different one. ScriptWorldId provides some predefined IDs for this purpose.

The following Greasemonkey attributes are supported since Qt 5.8: @exclude , @include , @name , @match , and @run-at .

Use scripts() and scripts() to access the collection of scripts associated with a single page or a number of pages sharing the same profile.

See also

Script Injection

class QWebEngineScript

QWebEngineScript(other)

param other

QWebEngineScript

Constructs a null script.

PySide2.QtWebEngineWidgets.QWebEngineScript.InjectionPoint

This enum describes the timing of the script injection:

Constant

Description

QWebEngineScript.DocumentCreation

The script will be executed as soon as the document is created. This is not suitable for any DOM operation.

QWebEngineScript.DocumentReady

The script will run as soon as the DOM is ready. This is equivalent to the DOMContentLoaded event firing in JavaScript.

QWebEngineScript.Deferred

The script will run when the page load finishes, or 500ms after the document is ready, whichever comes first.

PySide2.QtWebEngineWidgets.QWebEngineScript.ScriptWorldId

This enum provides pre-defined world IDs for isolating user scripts into different worlds:

Constant

Description

QWebEngineScript.MainWorld

The world used by the page’s web contents. It can be useful in order to expose custom functionality to web contents in certain scenarios.

QWebEngineScript.ApplicationWorld

The default isolated world used for application level functionality implemented in JavaScript.

QWebEngineScript.UserWorld

The first isolated world to be used by scripts set by users if the application is not making use of more worlds. As a rule of thumb, if that functionality is exposed to the application users, each individual script should probably get its own isolated world.

PySide2.QtWebEngineWidgets.QWebEngineScript.injectionPoint()
Return type

InjectionPoint

Returns the point in the loading process at which the script will be executed. The default value is Deferred .

PySide2.QtWebEngineWidgets.QWebEngineScript.isNull()
Return type

bool

Returns true is the script is null; otherwise returns false .

PySide2.QtWebEngineWidgets.QWebEngineScript.name()
Return type

unicode

Returns the name of the script. Can be useful to retrieve a particular script from a QWebEngineScriptCollection .

PySide2.QtWebEngineWidgets.QWebEngineScript.__ne__(other)
Parameters

otherQWebEngineScript

Return type

bool

Returns true if the script is not equal to other , otherwise returns false .

PySide2.QtWebEngineWidgets.QWebEngineScript.__eq__(other)
Parameters

otherQWebEngineScript

Return type

bool

Returns true if the script is equal to other , otherwise returns false .

PySide2.QtWebEngineWidgets.QWebEngineScript.runsOnSubFrames()
Return type

bool

Returns true if the script is executed on every frame in the page, or false if it is only ran for the main frame.

PySide2.QtWebEngineWidgets.QWebEngineScript.setInjectionPoint(arg__1)
Parameters

arg__1InjectionPoint

Sets the point at which to execute the script to be p .

See also

injectionPoint() InjectionPoint

PySide2.QtWebEngineWidgets.QWebEngineScript.setName(arg__1)
Parameters

arg__1 – unicode

Sets the script name to scriptName .

See also

name()

PySide2.QtWebEngineWidgets.QWebEngineScript.setRunsOnSubFrames(on)
Parameters

onbool

Executes the script on sub frames in addition to the main frame if on returns true .

PySide2.QtWebEngineWidgets.QWebEngineScript.setSourceCode(arg__1)
Parameters

arg__1 – unicode

Sets the script source to scriptSource .

See also

sourceCode()

PySide2.QtWebEngineWidgets.QWebEngineScript.setWorldId(arg__1)
Parameters

arg__1quint32

Sets the world ID of the isolated world to id when running this script.

Must be between 0 and 256 .

See also

worldId()

PySide2.QtWebEngineWidgets.QWebEngineScript.sourceCode()
Return type

unicode

Returns the source of the script.

See also

setSourceCode()

PySide2.QtWebEngineWidgets.QWebEngineScript.swap(other)
Parameters

otherQWebEngineScript

Swaps the contents of the script with the contents of other .

PySide2.QtWebEngineWidgets.QWebEngineScript.worldId()
Return type

quint32

Returns the world ID defining which world the script is executed in.

See also

setWorldId()