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:
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属性
-
-
class
qt4c.webview.iewebview.
WebViewBase
(window, webdriver, offscreen_win=None)¶ Bases:
qt4w.webview.webview.IWebView
PC端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.WebViewBase
IE 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路径
-