wkeMiniblink.wke module

class wkeMiniblink.wke.WebView(*args, **kwargs)[源代码]

基类:object

Wke网页视图

实现离屏网页视图功能,包括加载/渲染/设置/Js/Cookie等。

并不实际创建一个窗口,需要绑定一个外部窗口,使用额外的API将Webview的内容绘制到窗口上并处理某些需要的窗口消息。

MoveWindow(x: int, y: int, w: int, h: int)[源代码]

设置页面位置与大小

参数:
  • x (int) -- 页面左上点x坐标

  • y (int) -- 页面左上点y坐标

  • w (int) -- 页面宽度

  • h (int) -- 页面高度

addPluginDirectory(_path)[源代码]

设置页面右键上下文菜单使能与否

待处理

API文档上没有这一段

参数:

en (bool) -- True使能,False禁止

bind(hwnd, x=0, y=0, width=640, height=480)[源代码]

为页面绑定一个实际的窗口

参数:
  • hwnd (int) -- 窗口句柄

  • x (int) -- 窗口绑定区域左上角起始点的x坐标

  • y (int) -- y坐标

  • width (int) -- 宽度

  • height (int) -- 高度

返回:

页面的C句柄

返回类型:

int

canGoBack()[源代码]

页面是否能回退

canGoForward()[源代码]

页面是否能前进

cancelRequest(job, url, ident_ls=['.jpg'])[源代码]
FIXME:

没修正

clearCookie()[源代码]

清除页面cookie

待处理

官方文档说目前只支持清理所有页面的cookie。

property contentsHeight

页面内容高度

返回:

视图页面内容高度

返回类型:

int

property contentsWidth

页面内容宽度

返回:

视图页面内容宽度

返回类型:

int

create()[源代码]

创建一个页面webview,但不创建真窗口

返回:

页面的C句柄

返回类型:

int

destroy()[源代码]

销毁wkeWebView对应的所有数据结构,包括真实窗口等

editorCopy()[源代码]

页面选择复制

editorCut()[源代码]

页面选择复制

editorDelete()[源代码]

页面选择删除

editorRedo()[源代码]

页面选择重做

editorSelectAll()[源代码]

页面全选

editorUnSelect()[源代码]

页面反选

editorUndo()[源代码]

页面选择撤销

fireKeyDownEvent(virtualKeyCode, flags=0)[源代码]

向页面发送键盘按下事件

参数:
  • virtualKeyCode (int) -- 键的字符代码。

  • flags (wkeKeyFlags) -- 重复计数、扫描代码、扩展键标志、上下文代码、以前的键状态标志和转换状态标志

返回:

如果应用程序处理此消息,则应返回零。

返回类型:

int

WM_CHAR消息的The character code of the key.见https://msdn.microsoft.com/en-us/library/windows/desktop/ms646276(v=vs.85).aspx

fireKeyPressEvent(virtualKeyCode, flags=0)[源代码]

向页面发送键盘弹起事件

参数:
  • virtualKeyCode (int) -- 键的字符代码。

  • flags (wkeKeyFlags) -- 重复计数、扫描代码、扩展键标志、上下文代码、以前的键状态标志和转换状态标志

返回:

如果应用程序处理此消息,则应返回零。

返回类型:

int

fireKeyUpEvent(virtualKeyCode, flags=0)[源代码]

向页面发送键盘弹起事件

参数:
  • virtualKeyCode (int) -- 键的字符代码。

  • flags (wkeKeyFlags) -- 重复计数、扫描代码、扩展键标志、上下文代码、以前的键状态标志和转换状态标志

返回:

如果应用程序处理此消息,则应返回零。

返回类型:

int

fireMouseEvent(msg, x, y, flags=0)[源代码]

向页面发送鼠标事件

参数:
  • message (wkeMouseMsg) -- 鼠标消息,取WkeConst.MK_LBUTTON等

  • x (int) -- 鼠标位置x坐标

  • y (int) -- 鼠标位置y坐标

  • flags (wkeMouseFlags) -- 可取值有WKE_CONTROL、WKE_SHIFT、WKE_LBUTTON、WKE_MBUTTON、WKE_RBUTTON,可通过“或”操作并联。

fireMouseWheelEvent(msg, x, y, delta, flags=0)[源代码]

向页面发送鼠标滚轮事件

参数:
  • message (wkeMouseMsg) -- 鼠标消息,取WkeConst.MK_LBUTTON等

  • x (int) -- 鼠标位置x坐标

  • y (int) -- 鼠标位置y坐标

  • delta (int)

  • flags (wkeMouseFlags) -- 可取值有WKE_CONTROL、WKE_SHIFT、WKE_LBUTTON、WKE_MBUTTON、WKE_RBUTTON,可通过“或”操作并联。

fireWindowsMessage(msg, wParam, lParam)[源代码]

向页面发送windows消息事件

参数:
  • msg (win32con) -- 消息

  • wParam -- 消息参数

  • lParam -- 消息参数

返回:

如果应用程序处理此消息,则应返回零。

返回类型:

int

向mb发送任意windows消息。不过目前mb主要用来处理光标相关。mb在无窗口模式下,要响应光标事件,需要通过本函数手动发送光标消息

getCaretRect()[源代码]

获取编辑框的游标的位置

返回:

编辑框的游标的位置

返回类型:

int

getCookieW()[源代码]

获取页面cookie

返回:

页面cookie字符串

返回类型:

str

getFrameUrl(frameId)[源代码]

获取页面的指定编号的frame的链接地址

参数:

frameId (int) -- 帧编号

返回:

地址

返回类型:

str

getJsExec()[源代码]
getMainFrameId()[源代码]

查询主帧编号

返回:

主帧编号

返回类型:

int

getPostData(job, url, ident='')[源代码]
FIXME:

没修正

getSource()[源代码]

获取页面的内容

返回:

内容

返回类型:

str

getTempCallbackInfo()[源代码]

获取视图当前回调函数的临时信息

返回:

临时信息

返回类型:

WKETempCallbackInfo

getURL()[源代码]

获取页面的地址

返回:

地址

返回类型:

str

getUserAgent()[源代码]

获取页面对应的浏览器标识字符串

返回:

ua浏览器标识字符串

返回类型:

str

getUserKeyValue(k: str)[源代码]

获取视图绑定的k键对应的对象

参数:

k (str) -- 绑定键

返回:

绑定对象

返回类型:

object

getViewDC()[源代码]

获取wkeWebView对应的设备上下文句柄

返回:

页面的设备上下文句柄

返回类型:

DC

getWindowHandle()[源代码]

获取wkeWebView对应的窗口句柄

返回:

页面的窗口句柄

返回类型:

int

getWindowTitle()[源代码]

获取页面标题

返回:

标题

返回类型:

str

getZoomFactor(factor)[源代码]

获取页面缩放

返回:

缩放倍率

返回类型:

float

goBack()[源代码]

网页页面回退

goForward()[源代码]

页面前进,在历史列表中前进

property height

页面高度

返回:

视图页面高度

返回类型:

int

property id

页面的句柄

返回:

视图页面的句柄,即c api获取的webview

返回类型:

int

isMainFrame(frameId)[源代码]

查询指定编号的帧是否是主帧

参数:

frameId (int) -- 帧编号

返回:

是主帧返回True,不是返回False

返回类型:

bool

killFocus()[源代码]

设置webview是焦点态,如果webveiw关联了窗口,窗口也会有焦点

loadFile(file_path)[源代码]

网页页面加载指定的HTML文件

参数:

file_path (str) -- HTML文件路径

loadHTML(html: str)[源代码]

网页页面加载指定的HTML内容,string

参数:

html (str) -- HTML内容

loadHTMLW(html)[源代码]

网页页面加载指定的HTML内容,unicode

参数:

html (str) -- HTML内容

loadURL(url: str)[源代码]

网页页面加载指定的链接地址

参数:

url (str) -- 网页链接地址

loadURLW(url)[源代码]

网页页面加载指定的链接地址,unicode

参数:

url (str) -- 网页链接地址

moveToCenter()[源代码]

移动页面到中央

onAlertBox(func, param, *args, **kwargs)[源代码]

设置网页调用alert的回调

onConfirmBox(func, param, *args, **kwargs)[源代码]

设置网页调用confirmBox的回调

onConsole(func, param, *args, **kwargs)[源代码]

设置网页调用console触发的回调

onCreateView(func, param, *args, **kwargs)[源代码]

设置创建新窗口时的回调

onDocumentReady2(func, param, *args, **kwargs)[源代码]

设置文档就绪时的函数

onDownload(func, param, *args, **kwargs)[源代码]

设置网页开始下载的回调

onGetFavicon(func, param, *args, **kwargs)[源代码]

设置获取favicon的回调

onLoadUrlBegin(func, param, *args, **kwargs)[源代码]

设置网络请求发起前的回调

onLoadUrlEnd(func, param, *args, **kwargs)[源代码]

设置网络请求结束的回调

onLoadUrlFail(func, param, *args, **kwargs)[源代码]

设置网络请求失败的回调

onLoadUrlFinish(func, param, *args, **kwargs)[源代码]

设置网络请求完成的回调

onMouseOverUrlChanged(func, param, *args, **kwargs)[源代码]

设置鼠标划过链接元素的回调

onNavigation(func, param, *args, **kwargs)[源代码]

设置网页开始浏览的回调

onNetResponse(func, param, *args, **kwargs)[源代码]

设置收到网络请求的回调

onPaintBitUpdated(func, param, *args, **kwargs)[源代码]

设置窗口绘制刷新时回调

onPaintUpdated(func, param, *args, **kwargs)[源代码]

设置窗口绘制刷新时回调

onPromptBox(func, param, *args, **kwargs)[源代码]

设置网页调用PromptBox的回调

onTitleChanged(func, param, *args, **kwargs)[源代码]

设置标题变化的回调

onURLChanged2(func, param, *args, **kwargs)[源代码]

设置标题变化的回调

onWindowClosing(func, param, *args, **kwargs)[源代码]

设置窗口关闭时回调

onWindowDestroy(func, param, *args, **kwargs)[源代码]

设置窗口销毁时回调

postURL(data)[源代码]
reload()[源代码]

网页刷新

resize(width, height)[源代码]

调整页面大小

参数:
  • width (int) -- 宽度

  • height (int) -- 高度

返回:

参数合法返回True,否则False

返回类型:

bool

runJsByFrame(frameId, js_code, isInClosure=True)[源代码]

页面指定frameId的frame上运行js

参数:
  • frameId (int) -- 页面中帧ID

  • js_code (str) -- 指定的js代码

  • isInClosure (bool,optional) -- 是否在外层包个function() {}形式的闭包

返回:

js代码执行结果

返回类型:

str

NOTE:

如果需要返回值,在isInClosure为true时,需要写return,为false则不用

runJsCode(js_code: str)[源代码]

页面执行一段指定的js代码

参数:

js_code (str) -- 指定的js代码

返回:

js代码执行结果

返回类型:

str

runJsFile(file_name)[源代码]

页面执行指定路径的文件内容中的js代码

参数:

file_name (str or path) -- 指定的文件路径

返回:

js代码执行结果

返回类型:

str

runJsFunc(funcName, paramList=[], thisValue=0)[源代码]

页面主frame执行js函数

参数:
  • funcName (str) -- js函数名

  • paramList (list) -- 参数列表

  • this_func (BO)

返回:

js代码执行结果

返回类型:

str

待处理

NO VERIFY

saveBufData(url, buf, lens)[源代码]
FIXME:

没修正

setContextMenuEnabled(en: bool)[源代码]

设置页面右键上下文菜单使能与否

参数:

en (bool) -- True使能,False禁止

setCookie(url, cookie)[源代码]

设置页面cookie

参数:
  • url (int) -- 页面文件地址

  • cookie (str) -- 页面cookie字符串

返回:

地址

返回类型:

str

备注

cookie必须符合curl的cookie写法。一个例子是:

PERSONALIZE=123;expires=Monday, 13-Jun-2022 03:04:55 GMT; domain=.fidelity.com; path=/; secure

setCookieAndStagePath(**kwargs)[源代码]

设置Cookie/LocalStage的存储路径

关键字参数:
  • cookie (str) -- Cookie的存储文件路径

  • localStagePath (str) -- LocalStage的存储目录路径

setCookieJarFullPath(path)[源代码]

设置页面cookie文件的全路径

参数:

path (str) -- 页面cookie文件的全路径

设置cookie的全路径+文件名,如“c:mbcookie.dat”

setCookieJarPath(path)[源代码]

设置页面cookie的本地文件目录

参数:

path (str) -- 页面cookie文件存储目录

默认是当前目录。cookies存在当前目录的“cookie.dat”里

setCspCheckEnable(en=False)[源代码]

关闭后,跨域检查将被禁止,此时可以做任何跨域操作,如跨域ajax,跨域设置iframe

参数:

en (bool) -- True使能,False禁止

setDebugConfig(debugString: str, param)[源代码]

开启一些实验性选项。

Args:

debugString(str):选项名称

"showDevTools"

开启开发者工具,此时param要填写开发者工具的资源路径

"wakeMinInterval"

设置帧率,默认值是10,值越大帧率越低

"drawMinInterval"

设置帧率,默认值是3,值越大帧率越低

"antiAlias"

设置抗锯齿渲染。param必须设置为"1"

"minimumFontSize"

最小字体

"minimumLogicalFontSize"

最小逻辑字体

"defaultFontSize"

默认字体

"defaultFixedFontSize"

默认fixed字体

param : relate to debugString

注意:开发者工具设置时,param必须是utf8编码,如file:///c:/miniblink-release/front_end/inspector.html。

setDeviceParameter(device, paramStr, paramInt, paramFloat)[源代码]

设置设备模拟器选项

void wkeSetDeviceParameter(wkeWebView webView, const char* device, const char* paramStr, int paramInt, float paramFloat) (已废弃)设置mb模拟的硬件设备环境。主要用在伪装手机设备场

device:设备的字符串。可取值有: =========================== ================================================================================= "navigator.maxTouchPoints" 此时 paramInt 需要被设置,表示 touch 的点数 "navigator.platform" 此时 paramStr 需要被设置,表示js里获取的 navigator.platform字符串 "navigator.hardwareConcurrency" 此时 paramInt 需要被设置,表示js里获取的 navigator.hardwareConcurrency 整数值 "screen.width" 此时 paramInt 需要被设置,表示js里获取的 screen.width 整数值 "screen.height" 此时 paramInt 需要被设置,表示js里获取的 screen.height 整数值 "screen.availWidth" 此时 paramInt 需要被设置,表示js里获取的 screen.availWidth 整数值 "screen.availHeight" 此时 paramInt 需要被设置,表示js里获取的 screen.availHeight 整数值 "screen.pixelDepth" 此时 paramInt 需要被设置,表示js里获取的 screen.pixelDepth 整数值 "screen.pixelDepth" 目前等价于"screen.pixelDepth" "window.devicePixelRatio" 同上 =========================== =================================================================================

setDragEnable(drag=True)[源代码]

设置页面可拖拽与否

参数:

drag (bool) -- True可拖拽,False不可拖拽

setFocus()[源代码]

设置webview是焦点态,如果webveiw关联了窗口,窗口也会有焦点

setHandle(hwnd)[源代码]
设置wkeWebView对应的窗口句柄

注意:只有在无窗口模式下才能使用。如果是用wkeCreateWebWindow创建的webview,已经自带窗口句柄了。

参数:

hwnd (int) -- 窗口句柄

setHandleOffset(x, y)[源代码]

设置无窗口模式下的绘制偏移。在某些情况下(主要是离屏模式),绘制的地方不在真窗口的(0, 0)处,就需要手动调用此接口

参数:
  • x (int) -- 绘制偏移x

  • y (int) -- 绘制偏移y

setHeadlessEnabled(en: bool)[源代码]
开启无头模式与否

开启后,将不会渲染页面,提升了网页性能。

参数:

en (bool) -- True使能,False禁止

setLocalStorageFullPath(path)[源代码]

设置local storage的全路径

注意:这个接口只能接受目录。如“c:mbLocalStorage”

setNavigationToNewWindowEnable(en)[源代码]

设置新窗口跳转允许

参数:

en (bool) -- True允许,False禁止,所有新窗口跳转都在本窗口进行

setNpapiPluginsEnabled(en)[源代码]

开启关闭npapi插件,如flash

参数:

en (bool) -- True使能,False禁止

setProxy(ip, port, proxy_type=1, user=None, password=None)[源代码]

设置页面专属的代理

参数:
  • ip (str) -- 代理IP 地址

  • port (int) -- 代理端口

  • proxy_type (int) -- 代理类型

  • user (str) -- 代理账号

  • password (str) -- 代理账号密码

返回:

代理对象

返回类型:

wkeProxy

setResponseData(job, data='', file_name=None)[源代码]

待处理

API文档上没有这一段

setTouchEnabled(en: bool)[源代码]
开启触摸模式与否

开启后,鼠标事件转换为触摸事件

参数:

en (bool) -- True使能,False禁止

setTransparent(transparent)[源代码]

设置页面透明模式与否

参数:

transparent (bool) -- True透明,False不透明

setUserAgentW(ua)[源代码]

设置页面对应的浏览器标识字符串

参数:

ua (str) -- 浏览器标识字符串

setUserKeyValue(k, v)[源代码]

为视图的c对象设置一个绑定的k:v对

参数:
  • k (str) -- 绑定键

  • v (any) -- 绑定对象

setWebViewName(name)[源代码]

设置页面名称

参数:

name (str) -- 窗口名称

setWindowTitle(title: str)[源代码]

设置页面标题

参数:

title (str) -- 标题

setZoomFactor(factor)[源代码]

设置页面缩放

参数:

factor (float) -- 缩放倍率

showWindow(show=True)[源代码]

设置页面显示与隐藏

参数:

show (bool) -- True显示,False隐藏

stopLoading()[源代码]

网页停止加载

unlockViewDC()[源代码]

解锁wkeWebView对应的设备上下文句柄

utilSerializeToMHTML()[源代码]

待处理

API文档上没有这一段

property width

页面宽度

返回:

视图页面宽度

返回类型:

int

class wkeMiniblink.wke.WebWindow(*args, **kwargs)[源代码]

基类:WebView

Wke网页视图带窗口

build(hwnd, x=0, y=0, width=640, height=480, _type=2)[源代码]

为一个真实窗口绑定一个wkeWebWindow

参数:
  • hwnd (int) -- 窗口句柄

  • x (int) -- 窗口绑定区域左上角起始点的x坐标

  • y (int) -- y坐标

  • width (int) -- 宽度

  • height (int) -- 高度

create(parent=0, x=0, y=0, width=480, height=320, _type=0)[源代码]

创建一个带真实窗口的wkeWebView

wkeWebView wkeCreateWebWindow(wkeWindowType type, HWND parent, int x, int y, int width, int height);
参数:

_type (int) --

窗口类型

WKE_WINDOW_TYPE_POPUP

0

普通窗口

WKE_WINDOW_TYPE_TRANSPARENT

1

透明窗口。mb内部通过layer window实现

WKE_WINDOW_TYPE_CONTROL

2

嵌入在父窗口里的子窗口。此时parent需要被设置

destroy()[源代码]

销毁wkeWebView对应的所有数据结构,包括真实窗口等

setWindow(_type=0, hwnd=0, x=0, y=0, width=360, height=480)[源代码]
class wkeMiniblink.wke.Wke[源代码]

基类:object

Wke全局接口

示例

Wke.init("miniblink_4975_x32.dll")
....
Wke.runMessageLoop()
static Version()[源代码]
static buildProxy(self, ip, port, proxy_type=1, user=None, password=None)[源代码]

创建代理配置对象

参数:
  • ip (str) -- 代理IP 地址

  • port (int) -- 代理端口

  • proxy_type (int) -- 代理类型

  • user (str) -- 代理账号

  • password (str) -- 代理账号密码

返回:

代理对象

返回类型:

wkeProxy

dll = None
event = None
static extend(func, name, param=0, arg_count=1)[源代码]

使用一个指定的python函数作为js扩展实现的函数

示例

webview = WebWindow()
webview.create(0,0,0,800,600)

def pyAction(**kwargs):
    es=kwargs['es']
    context =kwargs['param']
    webview = context
    arg_count=Wke.jsArgCount(es)
    val_ls=Wke.getJsArgs(es,arg_count)
    webview.runJsCode('alert("jsCallpy'+str(val_ls)+'")')
    return

Wke.extend(pyAction,'jsCallpy', param=webview)

在HTML中

<button onclick="jsCallpy('jsCallpy', 666)" style='margin-right: 20px;cursor: pointer;'>jsCallpy</button>
void wkeJsBindFunction(const char* name, wkeJsNativeFunction fn, void* param, unsigned int argCount); //C原型
参数:
  • func (function) -- 扩展函数的python实现

  • name (str) -- 扩展的python函数在js中的名称

  • param (any, optional) -- python函数的回调上下文

  • arg_count (int, optional) -- 扩展函数的参数个数

抛出:

SyntaxError -- func为不可调用时抛出

static getDLL()[源代码]

返回动态库DLL对象

返回:

动态库DLL对象

返回类型:

cdll

static getJsArgs(es, arg_count)[源代码]

JS状态机中arg_count个对象转换成py对象列表

参数:
  • es (str) -- JS状态机

  • arg_count (int, optional) -- 参数个数

返回:

JS对象

返回类型:

jsVar

static init(path='', **kwargs)[源代码]

加载动态库

初始化整个mb。此句必须在所有mb api前最先调用。并且所有mb api必须和调用wkeInit的线程为同个线程

参数:

path (str) -- 动态库的文件位置

js = None
static jsArgCount(arg)[源代码]

获取JS对象中变量的个数

参数:

arg (jsVar) -- JS对象

返回:

JS对象中变量的个数

返回类型:

int

static jsGC()[源代码]

JS触发垃圾回收

static loaded()[源代码]

查询是否已加载动态库

返回:

已加载返回True,未加载返回False

返回类型:

bool

static runMessageLoop()[源代码]

Wke执行消息循环

也可以用win32gui.PumpMessages()

static setCookieAndStagePath(**kwargs)[源代码]

设置Cookie/LocalStage的存储路径

关键字参数:
  • cookie (str) -- Cookie的存储文件路径

  • localStagePath (str) -- LocalStage的存储目录路径

static setJsArgs(es, val)[源代码]

将python对象val转换成JS状态机中的JS对象

参数:
  • es (str) -- JS状态机

  • val (any) -- python对象

static setProxy(ip, port, proxy_type=1, user=None, password=None)[源代码]

设置全局代理

参数:
  • ip (str) -- 代理IP 地址

  • port (int) -- 代理端口

  • proxy_type (wkeProxyType) -- 代理类型

  • user (str) -- 代理账号

  • password (str) -- 代理账号密码

返回:

代理对象

返回类型:

wkeProxy

version = 0

wkeMiniblink.wkeEvent module

class wkeMiniblink.wkeEvent.WkeEvent(dll=None)[源代码]

基类:object

Wke关于webview的事件管理

事件注册: onXXXX(webview,func,param)

卸载 : offXXX(webview,func)

事件回调: func(webview,param,*args,**kwargs)

示例

Wke.init()
webview = WebWindow()
webview.create(0,0,0,800,600)
def OnEvent(context,*args,**kwargs):
    param = context["param"]
    print('param',param,'args:',args,'kwargs:',kwargs)
    return 0

event = WkeEvent() #或者event = Wke.event
event.onURLChanged2(webview,OnEvent,'onURLChanged2')
webview.loadURLW('https://baidu.com')
webview.showWindow(True)
Wke.runMessageLoop()
entries()[源代码]
offWebViewAllEvent(pwebview)[源代码]

注销所有webview的事件回调函数(仅py端)

参数:

pwebview (WebView) -- webview对象(py)

onAlertBox(pwebview, func, param=None)[源代码]

设置网页调用alert的回调

//python 事件响应函数(conext:dict,args=[msg:str],kwargs=None)
typedef void(*wkeAlertBoxCallback)(wkeWebView webView, void* param, const wkeString msg);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onConfirmBox(pwebview, func, param=None)[源代码]

设置网页调用confirmBox的回调

//python 事件响应函数(conext:dict,args=[msg:str],kwargs=None)
typedef void(*wkeConfirmBoxCallback)(wkeWebView webView, void* param, const wkeString msg);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onConsole(pwebview, func, param=None)[源代码]

设置网页调用console触发的回调

//python 事件响应函数(conext:dict,args=[level:str,msg:str,sourceName:str,sourceLine:int,stackTrace:str],kwargs=None)
typedef void(WKE_CALL_TYPE*wkeConsoleCallback)(wkeWebView webView, void* param, wkeConsoleLevel level, const wkeString message, const wkeString sourceName, unsigned sourceLine, const wkeString stackTrace);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onCreateView(pwebview, func, param=None)[源代码]

设置创建新窗口时的回调

网页点击a标签创建新窗口时将触发回调

//python 事件响应函数 int (conext:dict,args=[navigationType:int,url:str,windowFeatures:struct*],kwargs=None)
typedef wkeWebView(WKE_CALL_TYPE*wkeCreateViewCallback)(wkeWebView webView, void* param, wkeNavigationType navigationType, const wkeString url, const wkeWindowFeatures* windowFeatures); //C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

待处理

windowFeatures 未翻译c到py

onDocumentReady2(pwebview, func, param=None)[源代码]

设置文档就绪时的函数

对应js里的body onload事件

//python 事件响应函数(conext:dict,args=[frameId:int],kwargs=None)
typedef void(WKE_CALL_TYPE*wkeDocumentReady2Callback)(wkeWebView webView, void* param, wkeWebFrameHandle frameId); //C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onDownload(pwebview, func, param=None)[源代码]

设置网页开始下载的回调

//python 事件响应函数(conext:dict,args=[url:str],kwargs=None)
typedef bool(WKE_CALL_TYPE*wkeDownloadCallback)(wkeWebView webView, void* param, const char* url);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onGetFavicon(pwebview, func, param=None)[源代码]

设置获取favicon的回调

备注

此接口必须在wkeOnLoadingFinish回调里调用。可以用下面方式来判断是否是主frame的LoadingFinish:

tempInfo = webview.getTempCallbackInfo()
if (webview.isMainFrame(temInfo.frame)) :

webview.wkeNetGetFavicon(HandleFaviconReceived, divaram);

//python 事件响应函数(conext:dict,args=[url:str,buf:wkeMemBuf *],kwargs=None)
typedef void(WKE_CALL_TYPE*wkeOnNetGetFaviconCallback)(wkeWebView webView, void* param, const utf8* url, wkeMemBuf* buf);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onLoadUrlBegin(pwebview, func, param=None)[源代码]

设置网络请求发起前的回调

任何网络请求发起前会触发此回调

//python 事件响应函数(conext:dict,args=[url:str],kwargs=None)
typedef bool(*wkeLoadUrlBeginCallback)(wkeWebView webView, void* param, const char *url, void *job);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

NOTE:
  1. 此回调功能强大,在回调里,如果对job设置了wkeNetHookRequest,则表示mb会缓存获取到的网络数据,并在这次网络请求 结束后调用wkeOnLoadUrlEnd设置的回调,同时传递缓存的数据。在此期间,mb不会处理网络数据。

  2. 如果在wkeLoadUrlBeginCallback里没设置wkeNetHookRequest,则不会触发wkeOnLoadUrlEnd回调。

  3. 如果wkeLoadUrlBeginCallback回调里返回true,表示mb不处理此网络请求(既不会发送网络请求)。返回false,表示mb依然会发送网络请求。

onLoadUrlEnd(pwebview, func, param=None)[源代码]

设置网络请求结束的回调

如果在wkeLoadUrlBeginCallback里没设置wkeNetHookRequest,则不会触发wkeOnLoadUrlEnd回调。

//python 事件响应函数(conext:dict,args=[url:str,job:struct *,buf:c_char_p,lens:int],kwargs=None)
typedef void(WKE_CALL_TYPE*wkeLoadUrlEndCallback)(wkeWebView webView, void* param, const utf8* url, wkeNetJob job, void* buf, int len);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

待处理

job未翻译

onLoadUrlFail(pwebview, func, param=None)[源代码]

设置网络请求失败的回调

//python 事件响应函数(conext:dict,args=[url:str,job:struct *],kwargs=None)
typedef void(WKE_CALL_TYPE*wkeLoadUrlFailCallback)(wkeWebView webView, void* param, const utf8* url, wkeNetJob job);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

待处理

job未翻译

onLoadUrlFinish(pwebview, func, param=None)[源代码]

设置网络请求完成的回调

//python 事件响应函数(conext:dict,args=[url:str,result:int,failedReason:str],kwargs=None)
typedef void(WKE_CALL_TYPE*wkeLoadUrlFailCallback)(wkeWebView webView, void* param, const utf8* url, wkeNetJob job);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onMouseOverUrlChanged(pwebview, func, param=None)[源代码]

设置鼠标划过链接元素的回调

鼠标划过的元素,如果是链接,则调用此回调,并发送a标签的url的通知回调

//python 事件响应函数(conext:dict,args=[url:str],kwargs=None)
typedef void(*wkeMouseOverUrlChangedCallback)(wkeWebView webView, void* param, const wkeString url);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onNavigation(pwebview, func, param=None)[源代码]

设置网页开始浏览的回调

//python 事件响应函数(conext:dict,args=[navigationType:wkeNavigationType],kwargs=None)
typedef bool(*wkeNavigationCallback)(wkeWebView webView, void* param, wkeNavigationType navigationType, const wkeString url);//C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

备注

wkeNavigationCallback回调的返回值,如果是true,表示可以继续进行浏览,false表示阻止本次浏览。

wkeNavigationType: 表示浏览触发的原因。可以取的值有:

WKE_NAVIGATION_TYPE_LINKCLICK

点击a标签触发

WKE_NAVIGATION_TYPE_FORMSUBMITTE

点击form触发

WKE_NAVIGATION_TYPE_BACKFORWARD

前进后退触发

WKE_NAVIGATION_TYPE_RELOAD

重新加载触发

WKE_NAVIGATION_TYPE_FORMRESUBMITT

表单提交触发

onNetResponse(pwebview, func, param=None)[源代码]

设置收到网络请求的回调

一个网络请求发送后,收到服务器response触发回调

//python 事件响应函数(conext:dict,args=[url:str,job:c_void_p],kwargs=None)
typedef bool(WKE_CALL_TYPE*wkeNetResponseCallback)(wkeWebView webView, void* param, const utf8* url, wkeNetJob job);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

待处理

JOB 参数未C翻译到Py

onPaintBitUpdated(pwebview, func, param=None)[源代码]

设置窗口绘制刷新时回调

不同onPaintUpdated的是回调过来的是填充好像素的buffer,而不是DC。方便嵌入到游戏中做离屏渲染

//python 事件响应函数(conext:dict,args=[buf:c_char_p,rect:struct,cx:int,cy:int],kwargs=None)
typedef void(WKE_CALL_TYPE*wkePaintBitUpdatedCallback)(wkeWebView webView, void* param, const void* buffer, const wkeRect* r, int width, int height);//C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

待处理

rect

onPaintUpdated(pwebview, func, param=None)[源代码]

设置窗口绘制刷新时回调

页面有任何需要刷新的地方,将调用此回调

//python 事件响应函数(conext:dict,args=[hdc:int,x:int,y:int,cx:int,cy:int],kwargs=None)
typedef void(*wkePaintUpdatedCallback)(wkeWebView webView, void* param, const HDC hdc, int x, int y, int cx, int cy);//C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onPromptBox(pwebview, func, param=None)[源代码]

设置网页调用PromptBox的回调

//python 事件响应函数(conext:dict,args=[msg:str,defaultResult:str,result:c_char_p],kwargs=None)
typedef void(*wkePromptBoxCallback)(wkeWebView webView, void* param, const wkeString msg,wkeString defaultResult,wkeString result);
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onTitleChanged(pwebview, func, param=None)[源代码]

设置标题变化的回调

//python 事件响应函数(conext:dict,args=[title:str],kwargs=None)
typedef void(*wkeTitleChangedCallback)(wkeWebView webView, void* param, const wkeString title);//C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onURLChanged2(pwebview, func, param=None)[源代码]

设置标题变化的回调

//python 事件响应函数(conext:dict,args=[frameId:int,url:str],kwargs=None)
typedef void(WKE_CALL_TYPE*wkeURLChangedCallback2)(wkeWebView webView, void* param, wkeWebFrameHandle frameId, const wkeString url);//C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onWindowClosing(pwebview, func, param=None)[源代码]

设置窗口关闭时回调

webview如果是真窗口模式,则在收到WM_CLODE消息时触发此回调。可以通过在回调中返回false拒绝关闭窗口

//python 事件响应函数(conext:dict,args=[],kwargs=None)
typedef bool(WKE_CALL_TYPE*wkeWindowClosingCallback)(wkeWebView webWindow, void* param);//C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

onWindowDestroy(pwebview, func, param=None)[源代码]

设置窗口销毁时回调

不像wkeOnWindowClosing,这个操作无法取消

//python 事件响应函数(conext:dict,args=[],kwargs=None)
typedef void(WKE_CALL_TYPE*wkeWindowDestroyCallback)(wkeWebView webWindow, void* param);//C原型
参数:
  • pwebview (WebView) -- webview对象(py)

  • func (function) -- 通知回调函数,事件发生时调用

  • param (any, optional) -- 回调上下文参数,默认为None

wkeMiniblink.wkeStruct module

class wkeMiniblink.wkeStruct.BITMAPFILEHEADER[源代码]

基类:Structure

class wkeMiniblink.wkeStruct.BITMAPINFO[源代码]

基类:Structure

bmiColors

Structure/Union member

bmiHeader

Structure/Union member

class wkeMiniblink.wkeStruct.BITMAPINFOHEADER[源代码]

基类:Structure

关于DIB的尺寸和颜色格式的信息

biBitCount

Structure/Union member

biClrImportant

Structure/Union member

biClrUsed

Structure/Union member

biCompression

Structure/Union member

biHeight

Structure/Union member

biPlanes

Structure/Union member

biSize

Structure/Union member

biSizeImage

Structure/Union member

biWidth

Structure/Union member

biXPelsPerMeter

Structure/Union member

biYPelsPerMeter

Structure/Union member

class wkeMiniblink.wkeStruct.COMPOSITIONFORM[源代码]

基类:Structure

dwStyle

Structure/Union member

ptCurrentPos

Structure/Union member

rcArea

Structure/Union member

class wkeMiniblink.wkeStruct.COPYDATASTRUCT[源代码]

基类:Structure

cbData

Structure/Union member

dwData

Structure/Union member

lpData

Structure/Union member

class wkeMiniblink.wkeStruct.PAINTSTRUCT[源代码]

基类:Structure

fErase

Structure/Union member

fIncUpdate

Structure/Union member

fRestore

Structure/Union member

hdc

Structure/Union member

rcPaint

Structure/Union member

rgbReserved

Structure/Union member

class wkeMiniblink.wkeStruct.Rect[源代码]

基类:Structure

Bottom

Structure/Union member

Left

Structure/Union member

Right

Structure/Union member

Top

Structure/Union member

class wkeMiniblink.wkeStruct.WKETempCallbackInfo[源代码]

基类:Structure

frame

Structure/Union member

job

Structure/Union member

postBody

Structure/Union member

size

Structure/Union member

url

Structure/Union member

willSendRequestInfo

Structure/Union member

class wkeMiniblink.wkeStruct.WkeConst[源代码]

基类:object

AC_SRC_ALPHA = 1
AC_SRC_OVER = 0
CAPTUREBLT = 1073741824
CFS_FORCE_POSITION = 32
CFS_POINT = 2
GWL_EXSTYLE = -20
GWL_USERDATA = -21
GWL_WNDPROC = -4
ICON_BIG = 1
ICON_SMALL = 0
IDC_SIZENESW = 32643
IDC_SIZENS = 32645
IDC_SIZENWSE = 32642
IDC_SIZEWE = 32644
IMAGE_ICON = 1
KF_EXTENDED = 256
KF_REPEAT = 16384
LR_CREATEDIBSECTION = 8192
LR_LOADFROMFILE = 16
MK_CONTROL = 8
MK_LBUTTON = 1
MK_MBUTTON = 16
MK_RBUTTON = 2
MK_SHIFT = 4
OBJ_BITMAP = 7
SRCCOPY = 13369376
ULW_ALPHA = 2
WM_CHAR = 258
WM_CONTEXTMENU = 123
WM_DESTROY = 2
WM_ERASEBKGND = 20
WM_GETMINMAXINFO = 36
WM_IME_STARTCOMPOSITION = 269
WM_INPUTLANGCHANGE = 81
WM_KEYDOWN = 256
WM_KEYUP = 257
WM_KILLFOCUS = 8
WM_LBUTTONDBLCLK = 515
WM_LBUTTONDOWN = 513
WM_LBUTTONUP = 514
WM_MBUTTONDBLCLK = 521
WM_MBUTTONDOWN = 519
WM_MBUTTONUP = 520
WM_MOUSEMOVE = 512
WM_MOUSEWHEEL = 522
WM_NCDESTROY = 130
WM_NCHITTEST = 132
WM_PAINT = 15
WM_RBUTTONDBLCLK = 518
WM_RBUTTONDOWN = 516
WM_RBUTTONUP = 517
WM_SETCURSOR = 32
WM_SETFOCUS = 7
WM_SETICON = 128
WM_SIZE = 5
WS_EX_LAYERED = 524288
wkeMiniblink.wkeStruct.WkeMethod(prototype)[源代码]
class wkeMiniblink.wkeStruct.bitMap[源代码]

基类:Structure

bmBits

Structure/Union member

bmBitsPixel

Structure/Union member

bmHeight

Structure/Union member

bmPlanes

Structure/Union member

bmType

Structure/Union member

bmWidth

Structure/Union member

bmWidthBytes

Structure/Union member

class wkeMiniblink.wkeStruct.blendFunction[源代码]

基类:Structure

AlphaFormat

Structure/Union member

BlendFlags

Structure/Union member

BlendOp

Structure/Union member

SourceConstantAlpha

Structure/Union member

class wkeMiniblink.wkeStruct.mPos[源代码]

基类:Structure

x

Structure/Union member

y

Structure/Union member

class wkeMiniblink.wkeStruct.mSize[源代码]

基类:Structure

cx

Structure/Union member

cy

Structure/Union member

class wkeMiniblink.wkeStruct.wkeKeyFlags(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:IntEnum

WKE_EXTENDED = 256
WKE_REPEAT = 16384
class wkeMiniblink.wkeStruct.wkeMemBuf[源代码]

基类:Structure

data

Structure/Union member

length

Structure/Union member

size

Structure/Union member

class wkeMiniblink.wkeStruct.wkeMouseFlags(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:IntEnum

WKE_CONTROL = 8
WKE_LBUTTON = 1
WKE_MBUTTON = 16
WKE_RBUTTON = 2
WKE_SHIFT = 4
class wkeMiniblink.wkeStruct.wkeMouseMsg(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:IntEnum

WKE_MSG_LBUTTONDBLCLK = 515
WKE_MSG_LBUTTONDOWN = 513
WKE_MSG_LBUTTONUP = 514
WKE_MSG_MBUTTONDBLCLK = 521
WKE_MSG_MBUTTONDOWN = 519
WKE_MSG_MBUTTONUP = 520
WKE_MSG_MOUSEMOVE = 512
WKE_MSG_MOUSEWHEEL = 522
WKE_MSG_RBUTTONDBLCLK = 518
WKE_MSG_RBUTTONDOWN = 516
WKE_MSG_RBUTTONUP = 517
class wkeMiniblink.wkeStruct.wkeNavigationType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:IntEnum

WKE_NAVIGATION_TYPE_BACKFORWARD = 2
WKE_NAVIGATION_TYPE_FORMRESUBMITT = 4
WKE_NAVIGATION_TYPE_FORMSUBMITTE = 1
WKE_NAVIGATION_TYPE_LINKCLICK = 0
WKE_NAVIGATION_TYPE_OTHER = 5
WKE_NAVIGATION_TYPE_RELOAD = 3
class wkeMiniblink.wkeStruct.wkePdfDatas[源代码]

基类:Structure

count

Structure/Union member

datas

Structure/Union member

sizes

Structure/Union member

class wkeMiniblink.wkeStruct.wkePostBodyElement[源代码]

基类:Structure

data

Structure/Union member

fileLength

Structure/Union member

filePath

Structure/Union member

fileStart

Structure/Union member

size

Structure/Union member

type

Structure/Union member

class wkeMiniblink.wkeStruct.wkePostBodyElements[源代码]

基类:Structure

element

Structure/Union member

elementSize

Structure/Union member

isDirty

Structure/Union member

size

Structure/Union member

class wkeMiniblink.wkeStruct.wkePrintSettings[源代码]

基类:Structure

dpi

Structure/Union member

height

Structure/Union member

isLandscape

Structure/Union member

isPrintBackgroud

Structure/Union member

isPrintPageHeadAndFooter

Structure/Union member

marginBottom

Structure/Union member

marginLeft

Structure/Union member

marginRight

Structure/Union member

marginTop

Structure/Union member

structSize

Structure/Union member

width

Structure/Union member

class wkeMiniblink.wkeStruct.wkeProxy[源代码]

基类:Structure

hostname

Structure/Union member

password

Structure/Union member

port

Structure/Union member

type

Structure/Union member

username

Structure/Union member

class wkeMiniblink.wkeStruct.wkeProxyType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:IntEnum

WKE_PROXY_HTTP = 1
WKE_PROXY_NONE = 0
WKE_PROXY_SOCKS4 = 2
WKE_PROXY_SOCKS4A = 3
WKE_PROXY_SOCKS5 = 4
WKE_PROXY_SOCKS5HOSTNAME = 5
class wkeMiniblink.wkeStruct.wkeRect[源代码]

基类:Structure

h

Structure/Union member

w

Structure/Union member

x

Structure/Union member

y

Structure/Union member

class wkeMiniblink.wkeStruct.wkeScreenshotSettings[源代码]

基类:Structure

height

Structure/Union member

structSize

Structure/Union member

width

Structure/Union member

class wkeMiniblink.wkeStruct.wkeString[源代码]

基类:Structure

class wkeMiniblink.wkeStruct.wkeWindowFeatures[源代码]

基类:Structure

fullscreen

Structure/Union member

height

Structure/Union member

locationBarVisible

Structure/Union member

menuBarVisible

Structure/Union member

resizable

Structure/Union member

scrollbarsVisible

Structure/Union member

statusBarVisible

Structure/Union member

toolBarVisible

Structure/Union member

width

Structure/Union member

x

Structure/Union member

y

Structure/Union member