qt4c.webview.chromewebview

Chrome WebView实现

Package Contents

Classes

WebViewBase PC端WebView基类
ChromeDriver Chrome驱动
ChromeWebView Chrome WebView实现

Functions

_get_pid_by_port(port) 利用端口,获取对应端口的进程id
get_pid_by_port(port) 增加延时和重试机制,防止网络初始化太慢导致的查找失败
class qt4c.webview.chromewebview.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.chromewebview.ChromeDriver(port)

Bases: object

Chrome驱动

inst_dict
get_page_list(self)

获取打开的页面列表

get_debugger(self, url=None, title=None)

获取Web调试器

class qt4c.webview.chromewebview.ChromeWebView(page_wnd, url, pid, port=9200)

Bases: qt4c.webview.base.WebViewBase

Chrome WebView实现

_get_frame(self, parent, name, url)

根据frame的name和url获取frameTree节点

:param parent 要查找的frameTree节点 :type parent dict :param name: frame的id或name属性 :type name: string :param url: frame的url :type url: string

_get_frame_id_by_xpath(self, frame_xpaths)

根据XPath对象查找frame id

参数:frame_xpaths (list) – frame的xpath数组
eval_script(self, frame_xpaths, script)

在指定frame中执行JavaScript,并返回执行结果

参数:
  • frame_xpaths (list or string) – frame元素的XPATH路径,如果是顶层页面,则传入“[]”或者是frame id
  • script (string) – 要执行的JavaScript语句
click(self, x_offset, y_offset)

Chrome中按住shift键点击,以便在新窗口中打开页面

qt4c.webview.chromewebview._get_pid_by_port(port)

利用端口,获取对应端口的进程id

qt4c.webview.chromewebview.get_pid_by_port(port)

增加延时和重试机制,防止网络初始化太慢导致的查找失败