qt4c.webview.iewebview.iedriver

IE驱动模块

IE中的坑: 1、为避免用户传入的js存在语法错误,使用eval方式执行;这种方式可以获得最后一句话的返回值 2、eval中使用var xxx=123;不能定义变量,需要使用window[‘xxx’] = 123; 改成使用window.eval可以解决,ie8还是不行 3、eval中使用function xx(){}不能定义函数,需要加上window[‘xx’] = xx;

Module Contents

Classes

IEDriver window[‘qt4w_driver_lib’]
qt4c.webview.iewebview.iedriver.SID_SWebBrowserApp
exception qt4c.webview.iewebview.iedriver.IEDriverError

Bases: RuntimeError

class qt4c.webview.iewebview.iedriver.IEDriver(ie_server_hwnd)

Bases: object

window[‘qt4w_driver_lib’]

_init_com_obj(self)

初始化com对象

_retry_for_access_denied(self, func)

IE中经常出现可重试解决的80070005错误

_check_valid(self)

检查com对象的有效性

_get_document(self, frame)

获取frame的IHTMLDocument2指针,此方法可以跨域

get_frames(self, doc)
get_frame_window(self, win, frame_id, url)

获取doc中id或name为frame_id,或者url匹配的frame的IHTMLWindow对象

handle_error_page(self, doc)

处理错误页面

eval_script(self, frame_win, script, use_eval=True)

IE10以上异常对象才有stack属性