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:
objectwindow[‘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属性
-