qt4c.webview.iewebview¶
IE WebView实现
Submodules¶
Package Contents¶
Classes¶
IEDriver |
window[‘qt4w_driver_lib’] |
WebViewBase |
PC端WebView基类 |
Mouse |
鼠标操作静态类 |
MouseFlag |
鼠标按键枚举类 |
MouseClickType |
鼠标点击枚举类 |
IEWebView |
IE WebView实现 |
-
class
qt4c.webview.iewebview.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属性
-
-
class
qt4c.webview.iewebview.WebViewBase(window, webdriver, offscreen_win=None)¶ Bases:
qt4w.webview.webview.IWebViewPC端WebView基类
-
browser_type¶
-
rect¶ 当前可见窗口的坐标信息
-
__getattr__(self, attr)¶ 转发给WebDriver实现
-
_handle_result(self, result, frame_xpaths)¶ 处理执行JavaScript的结果
参数: - result (string) – 要处理的数据
- frame_xpaths (list) – 执行js所在frame的xpath
-
_handle_offset(self, x_offset, y_offset)¶ win10上如果设置了DPI需要进行坐标修正
-
_inner_click(self, flag, click_type, x_offset, y_offset)¶
-
_inner_long_click(self, flag, x_offset, y_offset, duration)¶
-
click(self, x_offset, y_offset)¶
-
double_click(self, x_offset, y_offset)¶
-
right_click(self, x_offset, y_offset)¶
-
long_click(self, x_offset, y_offset, duration=1)¶
-
hover(self, x_offset, y_offset)¶
-
scroll(self, backward=True)¶
-
send_keys(self, keys)¶
-
activate(self, is_true=True)¶ 激活当前窗口
参数: is_true (bool) – 是否激活,默认为True
-
screenshot(self)¶ 当前WebView的截图 :return: PIL.Image
-
upload_file(self, file_path)¶
-
-
class
qt4c.webview.iewebview.Mouse¶ Bases:
object鼠标操作静态类
-
_last_click_time¶
-
static
handle_position(x, y)¶ 坐标转换
-
static
click(x, y, flag=MouseFlag.LeftButton, clicktype=MouseClickType.SingleClick)¶ 鼠标点击(x,y)点
参数: - x (int) – 屏幕x坐标
- y (int) – 屏幕y坐标
- mouseFlag (qt4c.mouse.MouseFlag) – 鼠标按钮
- clickType (qt4c.mouse.MouseClickType) – 鼠标动作,如双击还是单击
-
static
_clickSlowly(x, y, flag=MouseFlag.LeftButton, interval=0.1)¶ 模拟鼠标缓慢点击,在鼠标键按下和释放之间存在一个interval的时间间隔
-
static
sendClick(hwnd, x, y, flag=MouseFlag.LeftButton, clicktype=MouseClickType.SingleClick)¶ 在目标窗口通过SendMessage方式产生鼠标点击的动作
参数: - hwnd (整数) – 目标窗口句柄
- x (整数) – 屏幕x坐标
- y (整数) – 屏幕y坐标
- flag (枚举类型, MouseFlag.LeftButton|MouseFlag.MiddleButton|MouseFlag.RightButton) – 鼠标键类型
- clicktype (枚举类型, MouseClickType.SingleClick | MouseClickType.DoubleClick) – 鼠标键点击方式
-
static
postClick(hwnd, x, y, flag=MouseFlag.LeftButton, clicktype=MouseClickType.SingleClick)¶ 在目标窗口通过PostMessage的方式产生鼠标点击的动作
参数: - hwnd (整数) – 目标窗口句柄
- x (整数) – 屏幕x坐标
- y (整数) – 屏幕y坐标
- flag (枚举类型, MouseFlag.LeftButton|MouseFlag.MiddleButton|MouseFlag.RightButton) – 鼠标键类型
- clicktype (枚举类型, MouseClickType.SingleClick | MouseClickType.DoubleClick) – 鼠标键点击方式
-
static
sendNCClick(hwnd, x, y, flag=MouseFlag.LeftButton, clicktype=MouseClickType.SingleClick)¶ 在目标窗口的Non-Client区域通过发消息的方式产生鼠标点击的动作
参数: - hwnd (整数) – 目标窗口句柄
- x (整数) – 屏幕x坐标
- y (整数) – 屏幕y坐标
- flag (枚举类型, MouseFlag.LeftButton|MouseFlag.MiddleButton|MouseFlag.RightButton) – 鼠标键类型
- clicktype (枚举类型, MouseClickType.SingleClick | MouseClickType.DoubleClick) – 鼠标键点击方式
-
static
drag(fromX, fromY, toX, toY, flag=MouseFlag.LeftButton, intervaltime=1)¶ 鼠标从(fromX, fromX)拖拽到(toX, toY)
参数: - fromX (整数) – 屏幕x坐标
- fromY (整数) – 屏幕y坐标
- toX (整数) – 屏幕x坐标
- toY (整数) – 屏幕y坐标
- flag (枚举类型, MouseFlag.LeftButton|MouseFlag.MiddleButton|MouseFlag.RightButton) – 鼠标键类型
-
static
press(x, y, flag=MouseFlag.LeftButton)¶ 在某个位置按下鼠标键
参数: - x (整数) – 屏幕x坐标
- y (整数) – 屏幕y坐标
- flag (枚举类型, MouseFlag.LeftButton|MouseFlag.MiddleButton|MouseFlag.RightButton) – 鼠标键类型
-
static
release(x, y, flag=MouseFlag.LeftButton)¶ 在某个位置释放鼠标键,与press配对使用
参数: - x (整数) – 屏幕x坐标
- y (整数) – 屏幕y坐标
- flag (枚举类型, MouseFlag.LeftButton|MouseFlag.MiddleButton|MouseFlag.RightButton) – 鼠标键类型
-
static
postMove(hwnd, toX, toY)¶
-
static
sendMove(hwnd, toX, toY)¶
-
static
move(toX, toY)¶ 鼠标移动到(tox,toy)
参数: - x (int) – 屏幕x坐标
- y (int) – 屏幕y坐标
-
static
getPosition()¶ 当前Mouse的位置
-
static
getCursorType()¶ 返回当前鼠标图标类型
返回类型: MouseCursorType
-
static
scroll(bForward=False)¶ 鼠标滚动 bForward: True则向前滚动,False则向后滚动。默认是False。
-
-
class
qt4c.webview.iewebview.MouseFlag¶ Bases:
object鼠标按键枚举类
-
class
qt4c.webview.iewebview.MouseClickType¶ Bases:
object鼠标点击枚举类
-
class
qt4c.webview.iewebview.IEWebView(ie_window_or_hwnd)¶ Bases:
qt4c.webview.base.WebViewBaseIE WebView实现
-
_get_frame_window_by_xpath(self, frame_xpaths)¶ 根据xpath查找对应的frameIHTMLWindow对象
-
eval_script(self, frame_xpaths, script, use_eval=True)¶ 在指定frame中执行JavaScript,并返回执行结果
参数: - frame_xpaths (list) – frame元素的XPATH路径,如果是顶层页面,怎传入“[]”
- script (string) – 要执行的JavaScript语句
-
highlight(self, elem_xpaths)¶ 使元素高亮
参数: elem_xpaths (list) – 元素的XPATH路径
-