Jarvis-Brain 0.1.13.8__py3-none-any.whl → 0.1.13.10__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Jarvis_Brain
3
- Version: 0.1.13.8
3
+ Version: 0.1.13.10
4
4
  Summary: Jarvis brain mcp
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: beautifulsoup4
@@ -0,0 +1,11 @@
1
+ mcp_tools/__init__.py,sha256=_ZzedxbxmVkdRH00ONOjQR31pZW-B8WPn5P2qE6T-Iw,3012
2
+ mcp_tools/dp_tools.py,sha256=fPxeXA2OdvISgBebi2BP_uCZekDaJltvTDaYrqUxFzw,26265
3
+ mcp_tools/main.py,sha256=hIiYV7QVT8XDEDihhTQTUmL7Ftlsd0DlfhKMHEqj244,1262
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=14ETum8I_sXyu_re11aN0q18dIpPqAP-rEaGcAIGuYA,12928
8
+ jarvis_brain-0.1.13.10.dist-info/METADATA,sha256=z9bFvrmXxrCcBU-XiDgvS7XACmWSCboh1UOAR09tqsw,265
9
+ jarvis_brain-0.1.13.10.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
10
+ jarvis_brain-0.1.13.10.dist-info/entry_points.txt,sha256=YFQT4xpkUqt5dM5wlKPQQOqcjMuFrT9iuRAzIpAyH7U,51
11
+ jarvis_brain-0.1.13.10.dist-info/RECORD,,
mcp_tools/dp_tools.py CHANGED
@@ -7,7 +7,7 @@ import os
7
7
  import time
8
8
  from typing import Any
9
9
 
10
- import DrissionPage
10
+ from DrissionPage.errors import NoRectError
11
11
  from fastmcp import FastMCP
12
12
 
13
13
  from tools.browser_manager import BrowserManager
@@ -386,36 +386,44 @@ def register_get_ele_info(mcp: FastMCP, browser_manager):
386
386
  css_selector=css_selector,
387
387
  element_index=element_index,
388
388
  )
389
- has_rect = target_element.states.has_rect,
390
- element_rect_size = tuple()
391
- if not has_rect:
392
- element_rect_size = target_element.rect.size,
393
389
  try:
394
- child_count=target_element.child_count
395
- except Exception:
396
- child_count=0
397
- return dp_mcp_message_pack(
398
- message="元素可以被正常的选择到,以下是元素相关的一系列信息",
399
- browser_port=browser_port,
400
- tab_id=tab_id,
401
- css_selector=css_selector,
402
- element_index=element_index,
403
- element_tag=target_element.tag,
404
- element_attrs_key=list(target_element.attrs.keys()),
405
- element_child_count=child_count,
406
- element_rect_size=element_rect_size,
407
- is_in_viewport=target_element.states.is_in_viewport,
408
- is_whole_in_viewport=target_element.states.is_whole_in_viewport,
409
- is_alive=target_element.states.is_alive,
410
- is_checked=target_element.states.is_checked,
411
- is_selected=target_element.states.is_selected,
412
- is_enabled=target_element.states.is_enabled,
413
- is_displayed=target_element.states.is_displayed,
414
- is_covered=target_element.states.is_covered,
415
- is_clickable=target_element.states.is_clickable,
416
- has_rect=has_rect
417
- )
418
-
390
+ has_rect = target_element.states.has_rect,
391
+ element_rect_size = tuple()
392
+ if not has_rect:
393
+ element_rect_size = target_element.rect.size,
394
+ try:
395
+ child_count=target_element.child_count
396
+ except Exception:
397
+ child_count=0
398
+ return dp_mcp_message_pack(
399
+ message="元素可以被正常的选择到,以下是元素相关的一系列信息",
400
+ browser_port=browser_port,
401
+ tab_id=tab_id,
402
+ css_selector=css_selector,
403
+ element_index=element_index,
404
+ element_tag=target_element.tag,
405
+ element_attrs_key=list(target_element.attrs.keys()),
406
+ element_child_count=child_count,
407
+ element_rect_size=element_rect_size,
408
+ is_in_viewport=target_element.states.is_in_viewport,
409
+ is_whole_in_viewport=target_element.states.is_whole_in_viewport,
410
+ is_alive=target_element.states.is_alive,
411
+ is_checked=target_element.states.is_checked,
412
+ is_selected=target_element.states.is_selected,
413
+ is_enabled=target_element.states.is_enabled,
414
+ is_displayed=target_element.states.is_displayed,
415
+ is_covered=target_element.states.is_covered,
416
+ is_clickable=target_element.states.is_clickable,
417
+ has_rect=has_rect
418
+ )
419
+ except NoRectError:
420
+ return dp_mcp_message_pack(
421
+ message="报错:NoRectError: 该元素没有位置及大小。你传入的css_selector和element_index选出的元素没有rect,请确认该元素是否可见",
422
+ browser_port=browser_port,
423
+ tab_id=tab_id,
424
+ css_selector=css_selector,
425
+ element_index=element_index,
426
+ )
419
427
 
420
428
  def register_get_screenshot(mcp: FastMCP, browser_manager):
421
429
  @mcp.tool(name="get_tab_screenshot",
tools/tools.py CHANGED
@@ -102,11 +102,11 @@ function getSimplifiedDOM(node) {
102
102
  return getSimplifiedDOM(document.body);
103
103
  """
104
104
 
105
- # 我自己优化后的版本,逻辑为:删除不可见元素、标签的任何属性value的长度大于20时直接删除这个属性、id和class采用简写方式:id=>#,class=>.
105
+ # 我自己优化后的版本,逻辑为:删除不可见元素、标签的任何属性value的长度大于30时直接删除这个属性、id和class采用简写方式:id=>#,class=>.
106
106
  compress_html_js="""
107
107
  function getSimplifiedDOM(node) {
108
108
  // 全局配置:最大属性值长度
109
- const MAX_ATTR_LEN = 40;
109
+ const MAX_ATTR_LEN = 30;
110
110
 
111
111
  // 1. 处理文本节点
112
112
  if (node.nodeType === Node.TEXT_NODE) {
@@ -1,11 +0,0 @@
1
- mcp_tools/__init__.py,sha256=_ZzedxbxmVkdRH00ONOjQR31pZW-B8WPn5P2qE6T-Iw,3012
2
- mcp_tools/dp_tools.py,sha256=AzAb5W-3jI_JcU_zz1LhzFiAKQwUuoXkiMQcclhXeZk,25688
3
- mcp_tools/main.py,sha256=hIiYV7QVT8XDEDihhTQTUmL7Ftlsd0DlfhKMHEqj244,1262
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=wp5U1PM8Fh2yAZPDmXmCG-svtGIf9n0yb-YL3KPewWI,12928
8
- jarvis_brain-0.1.13.8.dist-info/METADATA,sha256=BBWTdcMJ8iof4QA3E3OxdueAD4jdRvuPO8fWdTGsH3g,264
9
- jarvis_brain-0.1.13.8.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
10
- jarvis_brain-0.1.13.8.dist-info/entry_points.txt,sha256=YFQT4xpkUqt5dM5wlKPQQOqcjMuFrT9iuRAzIpAyH7U,51
11
- jarvis_brain-0.1.13.8.dist-info/RECORD,,