对于单个节点的隐藏图片或者隐藏的属性可以使用
已用在验证码滑块识别上
1 def execute_js(self, js):
2 """
3 执行js
4 :param js: str 待执行的js
5 :return: {"type": "xxx", value: "xxx"}
6 """
7 resource = "/session/%s/chromium/send_command_and_get_result" % self.session_id
8 # 这个值表示的是访问remote server的URL。因此这个值作为了RemoteConnection类的构造方法的参数,因为要连接remote server,URL是必须的。
9 command_executor = self.command_executor
10 url = command_executor._url + resource
11 """
12 常用指令
13
14 Chrome DevTools Protocol的指令分为三十多个大类,每类又有若干个指令,这里不能一一介绍,只选择几个简单而常用的指令介绍一下:
15
16 跳转到指定页面:Page.navigate
17 执行JS函数:Runtime.evaluate
18 获取资源树:Page.getResourceTree
19 获取资源:Page.getResourceContent
20 """
21 body = json.dumps({'cmd': "Runtime.evaluate", 'params': {"expression": js}})
22 response = command_executor._request('POST', url, body)
23 if response['status']:
24 return response
25 return response["value"]["result"] # 此处返回的是字典