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 PySide2.QtWebEngineWidgets.QWebEngineScript

PySide2.QtWebEngineWidgets.QWebEngineScript(other)

param other:

PySide2.QtWebEngineWidgets.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:

str

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

PySide2.QtWebEngineWidgets.QWebEngineScript.__ne__(other)
Parameters:

otherPySide2.QtWebEngineWidgets.QWebEngineScript

Return type:

bool

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

PySide2.QtWebEngineWidgets.QWebEngineScript.__eq__(other)
Parameters:

otherPySide2.QtWebEngineWidgets.QWebEngineScript

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 – str

Sets the script name to scriptName .

See also

name()

PySide2.QtWebEngineWidgets.QWebEngineScript.setRunsOnSubFrames(on)
Parameters:

on – bool

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 – str

Sets the script source to scriptSource .

See also

sourceCode()

PySide2.QtWebEngineWidgets.QWebEngineScript.setWorldId(arg__1)
Parameters:

arg__1 – int

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:

str

Returns the source of the script.

See also

setSourceCode()

PySide2.QtWebEngineWidgets.QWebEngineScript.swap(other)
Parameters:

otherPySide2.QtWebEngineWidgets.QWebEngineScript

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

PySide2.QtWebEngineWidgets.QWebEngineScript.worldId()
Return type:

int

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

See also

setWorldId()