Jarvis-Brain 0.1.11.6__py3-none-any.whl → 0.1.11.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jarvis_brain-0.1.11.6.dist-info → jarvis_brain-0.1.11.8.dist-info}/METADATA +1 -1
- {jarvis_brain-0.1.11.6.dist-info → jarvis_brain-0.1.11.8.dist-info}/RECORD +5 -5
- mcp_tools/dp_tools.py +21 -15
- {jarvis_brain-0.1.11.6.dist-info → jarvis_brain-0.1.11.8.dist-info}/WHEEL +0 -0
- {jarvis_brain-0.1.11.6.dist-info → jarvis_brain-0.1.11.8.dist-info}/entry_points.txt +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
mcp_tools/__init__.py,sha256=_ZzedxbxmVkdRH00ONOjQR31pZW-B8WPn5P2qE6T-Iw,3012
|
|
2
|
-
mcp_tools/dp_tools.py,sha256=
|
|
2
|
+
mcp_tools/dp_tools.py,sha256=Q-qfUG-TVhyFNtS0c412nGXUR9CsLQ29tPCG7N6pQRQ,18975
|
|
3
3
|
mcp_tools/main.py,sha256=Fgq2PPuc7XCCwXCSVsyoADB0z1vI_gZ07lnLChcrjjg,1167
|
|
4
4
|
tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
tools/browser_manager.py,sha256=zeYcWuzxoohMdnYUoZbRH7axFC_VtV8MsncfN8y0yw0,2023
|
|
6
6
|
tools/browser_proxy.py,sha256=VAhuVrBIoXmKyXvCmJh4eRYCWpLIhbTYmFHK8l8eoTA,6590
|
|
7
7
|
tools/tools.py,sha256=KvBzefiQbgR-Qa1FsTOGMbVuwTzrK3iXXJgZuFU3UVg,10926
|
|
8
|
-
jarvis_brain-0.1.11.
|
|
9
|
-
jarvis_brain-0.1.11.
|
|
10
|
-
jarvis_brain-0.1.11.
|
|
11
|
-
jarvis_brain-0.1.11.
|
|
8
|
+
jarvis_brain-0.1.11.8.dist-info/METADATA,sha256=qG_EZ8RHwn25krz9Hv8cgy-cAvU1JsdkA80qiloZYiQ,264
|
|
9
|
+
jarvis_brain-0.1.11.8.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
10
|
+
jarvis_brain-0.1.11.8.dist-info/entry_points.txt,sha256=YFQT4xpkUqt5dM5wlKPQQOqcjMuFrT9iuRAzIpAyH7U,51
|
|
11
|
+
jarvis_brain-0.1.11.8.dist-info/RECORD,,
|
mcp_tools/dp_tools.py
CHANGED
|
@@ -237,27 +237,33 @@ def register_assert_waf(mcp: FastMCP, browser_manager):
|
|
|
237
237
|
|
|
238
238
|
|
|
239
239
|
def register_click_action(mcp: FastMCP, browser_manager):
|
|
240
|
-
@mcp.tool(name="click_action",
|
|
241
|
-
|
|
240
|
+
@mcp.tool(name="click_action",
|
|
241
|
+
description="尝试点击tab页中的元素,返回元素是否可以被点击,以及是否点击成功。"
|
|
242
|
+
"其中target_element_index默认为0,当传入的Selector可以定位到多个元素时,需要传入target_element_index指定具体点击目标 ")
|
|
243
|
+
async def click_action(browser_port: int, tab_id: str, css_selector: str, target_element_index: int = 0) -> dict[
|
|
244
|
+
str, Any]:
|
|
242
245
|
_browser = browser_manager.get_browser(browser_port)
|
|
243
246
|
target_tab = _browser.get_tab(tab_id)
|
|
244
247
|
css_selector = css_selector
|
|
245
248
|
if "css:" not in css_selector:
|
|
246
249
|
css_selector = "css:" + css_selector
|
|
247
250
|
target_eles = target_tab.eles(css_selector)
|
|
248
|
-
click_success = False
|
|
249
|
-
element_clickable = False
|
|
250
|
-
if len(target_eles) == 1:
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
251
|
+
# click_success = False
|
|
252
|
+
# element_clickable = False
|
|
253
|
+
# if len(target_eles) == 1:
|
|
254
|
+
target_element = target_eles[target_element_index]
|
|
255
|
+
element_clickable = target_element.states.is_clickable
|
|
256
|
+
try:
|
|
257
|
+
target_element.click()
|
|
258
|
+
click_success = True
|
|
259
|
+
except Exception as e:
|
|
260
|
+
click_success = False
|
|
261
|
+
if target_element_index > 0:
|
|
262
|
+
message = f"tab页:【{tab_id}】点击【{css_selector}】【index={target_element_index}】的元素 {'成功' if click_success else '失败'} 了"
|
|
259
263
|
else:
|
|
260
|
-
message = f"tab页:【{tab_id}
|
|
264
|
+
message = f"tab页:【{tab_id}】点击【{css_selector}】 {'成功' if click_success else '失败'} 了"
|
|
265
|
+
# else:
|
|
266
|
+
# message = f"tab页:【{tab_id}】传入的css_selector找到了{len(target_eles)}个元素,请确保传入的css_selector可以找到唯一的一个元素"
|
|
261
267
|
return dp_mcp_message_pack(
|
|
262
268
|
message=message,
|
|
263
269
|
browser_port=browser_port,
|
|
@@ -319,7 +325,7 @@ def register_get_screenshot(mcp: FastMCP, browser_manager):
|
|
|
319
325
|
os.makedirs(html_source_code_local_save_path)
|
|
320
326
|
timestamp = int(time.time() * 1000)
|
|
321
327
|
# time.sleep(1)
|
|
322
|
-
origin_png = target_tab.get_screenshot(as_bytes="png")
|
|
328
|
+
origin_png = target_tab.get_screenshot(as_bytes="png", full_page=True)
|
|
323
329
|
compress_png = compress_image_bytes(origin_png)
|
|
324
330
|
image_path = os.path.join(html_source_code_local_save_path, f"{browser_port}_{tab_id}_{timestamp}.png")
|
|
325
331
|
with open(image_path, "wb") as f:
|
|
File without changes
|
|
File without changes
|