Jarvis-Brain 0.1.11.12__py3-none-any.whl → 0.1.12.1__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.12.dist-info → jarvis_brain-0.1.12.1.dist-info}/METADATA +1 -1
- jarvis_brain-0.1.12.1.dist-info/RECORD +11 -0
- mcp_tools/dp_tools.py +33 -0
- mcp_tools/main.py +1 -0
- jarvis_brain-0.1.11.12.dist-info/RECORD +0 -11
- {jarvis_brain-0.1.11.12.dist-info → jarvis_brain-0.1.12.1.dist-info}/WHEEL +0 -0
- {jarvis_brain-0.1.11.12.dist-info → jarvis_brain-0.1.12.1.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
mcp_tools/__init__.py,sha256=_ZzedxbxmVkdRH00ONOjQR31pZW-B8WPn5P2qE6T-Iw,3012
|
|
2
|
+
mcp_tools/dp_tools.py,sha256=Re1bOQrTGeUSuPMXmPFRQLB0fo3TFlADhBoW-Bi_O9k,20726
|
|
3
|
+
mcp_tools/main.py,sha256=U405cGk_4nasBHiR4vrXsgZaTwQSZmo74vckfNH9hKg,1214
|
|
4
|
+
tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
tools/browser_manager.py,sha256=zeYcWuzxoohMdnYUoZbRH7axFC_VtV8MsncfN8y0yw0,2023
|
|
6
|
+
tools/browser_proxy.py,sha256=VAhuVrBIoXmKyXvCmJh4eRYCWpLIhbTYmFHK8l8eoTA,6590
|
|
7
|
+
tools/tools.py,sha256=KvBzefiQbgR-Qa1FsTOGMbVuwTzrK3iXXJgZuFU3UVg,10926
|
|
8
|
+
jarvis_brain-0.1.12.1.dist-info/METADATA,sha256=l9voBQUlSWlk2bsRuBssJbk0I6ecwhOqVAPibobRKyI,264
|
|
9
|
+
jarvis_brain-0.1.12.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
10
|
+
jarvis_brain-0.1.12.1.dist-info/entry_points.txt,sha256=YFQT4xpkUqt5dM5wlKPQQOqcjMuFrT9iuRAzIpAyH7U,51
|
|
11
|
+
jarvis_brain-0.1.12.1.dist-info/RECORD,,
|
mcp_tools/dp_tools.py
CHANGED
|
@@ -314,6 +314,39 @@ def register_scroll_action(mcp: FastMCP, browser_manager):
|
|
|
314
314
|
)
|
|
315
315
|
|
|
316
316
|
|
|
317
|
+
def register_mouse_hover(mcp: FastMCP, browser_manager):
|
|
318
|
+
@mcp.tool(name="scroll_action", description="将鼠标悬停在元素上【这个功能使用了Drissionpage的action行为链功能】")
|
|
319
|
+
async def mouse_hover(browser_port: int, tab_id: str, css_selector: str, target_element_index: int = 0) -> dict[
|
|
320
|
+
str, Any]:
|
|
321
|
+
_browser = browser_manager.get_browser(browser_port)
|
|
322
|
+
target_tab = _browser.get_tab(tab_id)
|
|
323
|
+
css_selector = css_selector
|
|
324
|
+
if "css:" not in css_selector:
|
|
325
|
+
css_selector = "css:" + css_selector
|
|
326
|
+
target_eles = target_tab.eles(css_selector)
|
|
327
|
+
target_element = target_eles[target_element_index]
|
|
328
|
+
try:
|
|
329
|
+
target_tab.actions.move_to(target_element)
|
|
330
|
+
target_element.hover()
|
|
331
|
+
hover_success = True
|
|
332
|
+
except Exception as e:
|
|
333
|
+
hover_success = False
|
|
334
|
+
if target_element_index > 0:
|
|
335
|
+
message = f"tab页:【{tab_id}】hover【{css_selector}】【index={target_element_index}】的元素 {'成功' if hover_success else '失败'} 了"
|
|
336
|
+
else:
|
|
337
|
+
message = f"tab页:【{tab_id}】hover【{css_selector}】 {'成功' if hover_success else '失败'} 了"
|
|
338
|
+
# else:
|
|
339
|
+
# message = f"tab页:【{tab_id}】传入的css_selector找到了{len(target_eles)}个元素,请确保传入的css_selector可以找到唯一的一个元素"
|
|
340
|
+
return dp_mcp_message_pack(
|
|
341
|
+
message=message,
|
|
342
|
+
browser_port=browser_port,
|
|
343
|
+
tab_id=tab_id,
|
|
344
|
+
css_selector=css_selector,
|
|
345
|
+
hoversuccess=hover_success,
|
|
346
|
+
extra_message="hover成功,页面可能有更新,请重新获取页面html,并重新分析页面Selector" if hover_success else ""
|
|
347
|
+
)
|
|
348
|
+
|
|
349
|
+
|
|
317
350
|
def register_get_screenshot(mcp: FastMCP, browser_manager):
|
|
318
351
|
@mcp.tool(name="get_tab_screenshot",
|
|
319
352
|
description="尝试对传入tab页进行截图,并将截图压缩为1M大小png图片,会返回截图保存路径")
|
mcp_tools/main.py
CHANGED
|
@@ -24,6 +24,7 @@ if "TeamNode-Dp" in enabled_modules:
|
|
|
24
24
|
# 页面交互
|
|
25
25
|
register_click_action(mcp, browser_manager)
|
|
26
26
|
register_scroll_action(mcp, browser_manager)
|
|
27
|
+
register_mouse_hover(mcp, browser_manager)
|
|
27
28
|
|
|
28
29
|
if "JarvisNode" in enabled_modules:
|
|
29
30
|
register_assert_waf(mcp, browser_manager)
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
mcp_tools/__init__.py,sha256=_ZzedxbxmVkdRH00ONOjQR31pZW-B8WPn5P2qE6T-Iw,3012
|
|
2
|
-
mcp_tools/dp_tools.py,sha256=hZdIqkuX5cwX05DoRxXBwRfxzqy7wQjMgFgMsv3gOpQ,18959
|
|
3
|
-
mcp_tools/main.py,sha256=Fgq2PPuc7XCCwXCSVsyoADB0z1vI_gZ07lnLChcrjjg,1167
|
|
4
|
-
tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
tools/browser_manager.py,sha256=zeYcWuzxoohMdnYUoZbRH7axFC_VtV8MsncfN8y0yw0,2023
|
|
6
|
-
tools/browser_proxy.py,sha256=VAhuVrBIoXmKyXvCmJh4eRYCWpLIhbTYmFHK8l8eoTA,6590
|
|
7
|
-
tools/tools.py,sha256=KvBzefiQbgR-Qa1FsTOGMbVuwTzrK3iXXJgZuFU3UVg,10926
|
|
8
|
-
jarvis_brain-0.1.11.12.dist-info/METADATA,sha256=2FQnuYcTVB9XukYneNY-ejTW7AiDWZZVX6gnJcPdVa8,265
|
|
9
|
-
jarvis_brain-0.1.11.12.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
10
|
-
jarvis_brain-0.1.11.12.dist-info/entry_points.txt,sha256=YFQT4xpkUqt5dM5wlKPQQOqcjMuFrT9iuRAzIpAyH7U,51
|
|
11
|
-
jarvis_brain-0.1.11.12.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|