Giter VIP home page Giter VIP logo

jgm-automator's Issues

Device的问题

Device1 = 'QV7039V30X'
Device2 = 'CB512BC4ZL'
Device1Net = '10.21.20.105'
Device2Net = '10.21.59.70'
MuMu = '127.0.0.1:7555'

大佬这几个应该怎么改 用的mumu模拟器
会报adbutils.errors.AdbError: device 'CB512BC4ZL' not found 这个未找到

RuntimeError: atx-agent recover failed报错

按照教程一步一步走,最后在main.py执行的时候报这个错
PS D:\JGM-Automator> python.exe .\main.py
Successfully connected to MuMu.
C:\Program Files\Python37\lib\site-packages\uiautomator2_init_.py:177: RuntimeWarning: start atx-agent ...
warnings.warn("start atx-agent ...", RuntimeWarning)
Traceback (most recent call last):
File ".\main.py", line 23, in
instance = Automator(MuMu, up_list, harvest_filter,auto_policy=policy,auto_task=task,speedup=speed_up)
File "D:\JGM-Automator\automator.py", line 14, in init
self.d = u2.connect(device)
File "C:\Program Files\Python37\lib\site-packages\uiautomator2_init_.py", line 122, in connect
return connect_usb(addr)
File "C:\Program Files\Python37\lib\site-packages\uiautomator2_init_.py", line 186, in connect_usb
raise RuntimeError("atx-agent recover failed")
RuntimeError: atx-agent recover failed

使用的是Mumu模拟器

你好,我这出了一个奇怪的错误

Traceback (most recent call last):
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 157, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\connection.py", line 84, in create_connection
raise err
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\connection.py", line 74, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 672, in urlopen
chunked=chunked,
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 387, in _make_request
conn.request(method, url, **httplib_request_kw)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1244, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1290, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1239, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1026, in _send_output
self.send(msg)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 966, in send
self.connect()
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 184, in connect
conn = self._new_conn()
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 169, in _new_conn
self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x10AF1C90>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py", line 449, in send
timeout=timeout
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 762, in urlopen
**response_kw
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 762, in urlopen
**response_kw
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 762, in urlopen
**response_kw
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\retry.py", line 436, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=63812): Max retries exceeded with url: /info (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10AF1C90>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "huawei.py", line 27, in <module>
instance.start()
File "C:\Users\xxx\Desktop\JGM-Automator-master\automator.py", line 51, in start
self.d.click(550/1080, 1650/1920)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\session.py", line 364, in click
x, y = self.pos_rel2abs(x, y)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\session.py", line 155, in convert
self.server.window_size())  # size will be [width, height]
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\__init__.py", line 396, in window_size
info = self._reqsess.get(self.path2url('/info')).json()
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 546, in get
return self.request('GET', url, **kwargs)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\__init__.py", line 245, in request
self).request(method, url, **kwargs)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=63812): Max retries exceeded with url: /info (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10AF1C90>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

很迷我的OpenCV也报错了

OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:726: error: (-215:Assertion failed) !buf.empty() in function 'cv::imdecode_'

执行screenshot的时候opencv报错

Traceback (most recent call last):
File "main.py", line 33, in
instance.start()
File "/Users/y.dongdong/Downloads/DongHub/JGM-Automator/automator.py", line 44, in start
self._match_target(target)
File "/Users/y.dongdong/Downloads/DongHub/JGM-Automator/automator.py", line 116, in _match_target
screen = self.d.screenshot(format="opencv")
File "/anaconda3/lib/python3.7/site-packages/uiautomator2/init.py", line 1186, in screenshot
return self.session().screenshot(*args, **kwargs)
File "</anaconda3/lib/python3.7/site-packages/decorator.py:decorator-gen-6>", line 2, in screenshot
File "/anaconda3/lib/python3.7/site-packages/retry/api.py", line 74, in retry_decorator
logger)
File "/anaconda3/lib/python3.7/site-packages/retry/api.py", line 33, in __retry_internal
return f()
File "/anaconda3/lib/python3.7/site-packages/uiautomator2/session.py", line 469, in screenshot
r = requests.get(self.server.screenshot_uri, timeout=10)
File "/anaconda3/lib/python3.7/site-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "/anaconda3/lib/python3.7/site-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/anaconda3/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/anaconda3/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/anaconda3/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/anaconda3/lib/python3.7/site-packages/urllib3/connectionpool.py", line 600, in urlopen
chunked=chunked)
File "/anaconda3/lib/python3.7/site-packages/urllib3/connectionpool.py", line 380, in _make_request
httplib_response = conn.getresponse()
File "/anaconda3/lib/python3.7/http/client.py", line 1321, in getresponse
response.begin()
File "/anaconda3/lib/python3.7/http/client.py", line 296, in begin
version, status, reason = self._read_status()
File "/anaconda3/lib/python3.7/http/client.py", line 257, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/anaconda3/lib/python3.7/socket.py", line 589, in readinto
return self._sock.recv_into(b)

我尝试了下增加import cv2,发现不是这个问题,所以行号可能跟源文件差1行,想问下你的版本号可以发一下不?

NoneType报错,运行main.py后直接出现的这个

C:\Python3.7.4\python.exe D:/game/JGM/qingwei/main.py
Successfully connected to MuMu.
1080 1920
App is front. JGM agent start in 5 seconds
Traceback (most recent call last):
File "D:/game/JGM/qingwei/main.py", line 25, in
instance.start()
File "D:\game\JGM\qingwei\automator.py", line 44, in start
self.check_task()
File "D:\game\JGM\qingwei\automator.py", line 168, in check_task
if UIMatcher.findTaskBubble(screen):
File "D:\game\JGM\qingwei\cv.py", line 70, in findTaskBubble
if len(cnts[1]):
TypeError: object of type 'NoneType' has no len()

运行程序后报错了,怎么解决啊,没改过代码

Traceback (most recent call last):
File "...\JGM-Automator-master\main.py", line 19, in
instance.start()
File "..\JGM-Automator-master\automator.py", line 21, in start
self._match_target(target)
File "..\JGM-Automator-master\automator.py", line 69, in match_target
screen = self.d.screenshot(format="opencv")
File "..\Python37\lib\site-packages\uiautomator2_init
.py", line 1186, in screenshot
return self.session().screenshot(*args, **kwargs)
File "<..\Python37\lib\site-packages\decorator.py:decorator-gen-6>", line 2, in screenshot
File "..\Python37\lib\site-packages\retry\api.py", line 74, in retry_decorator
logger)
File "..\Python37\lib\site-packages\retry\api.py", line 33, in _retry_internal
return f()
File "..\Python37\lib\site-packages\uiautomator2\session.py", line 482, in screenshot
return cv2.imdecode(nparr, cv2.IMREAD_COLOR)
cv2.error: OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:726: error: (-215:Assertion failed) !buf.empty() in function 'cv::imdecode
'

自动点红包 卡片

红包 卡片 太多了 点不过来 求自动点~
and
imutils 需要通过提示 pip install imutils 安装下~

train runing cause crash

每次收完一种货物之后,开始收货第二种,出现闪退。CMD中出现Reset app提示

python main.py报错

vagile@VagileMBP:/github/JGM-Automator$ python main.py
Traceback (most recent call last):
File "main.py", line 2, in
from automator import Automator
File "/Users/vagile/github/JGM-Automator/automator.py", line 16
def init(self, device: str, targets: dict):
^
SyntaxError: invalid syntax
vagile@VagileMBP:~/github/JGM-Automator$

求解

城市任务判定报错

如果出现以下错误:
File "C:\Users\zhang\Documents\workspace\adbs\JGMA\cv.py", line 71, in findTaskBubble if len(cnts[1]): TypeError: object of type 'NoneType' has no len()
可能是cv2版本问题,我没详查。我的是opencv-python 4.2.0.34
修改源码cv.py中

       if len(cnts[1]):
            return True
        else:
            return False

      if cnts[1] is None:
            return False
        elif len(cnts[1]):
            return True
        else:
            return False

加一条判定,避免NoneType错误,可解决。

下载requirements.txt报错

ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'

这个问题怎么解决?

关于收货成功率的建议

我简单测试了一下,发现收货时对于货物对应建筑的识别可能受到收益产生时的效果(金币跳动、闪光)瞬时干扰,于是我尝试修改了一下,当收货完毕后,检测到还有货物未收取,就重新执行收货动作,此时再识别货物对应建筑时,可能就恰好避开了干扰效果,直到火车离开前反复执行,就可以提高识别率和收货成功率。

python -m uiautomator2 init之后出错

atx软件可以安装但是报错
[D 191105 22:12:39 init:109] Initial device AdbDevice(serial=127.0.0.1:7555)
[I 191105 22:12:39 init:277] Install minicap, minitouch
[D 191105 22:12:39 init:48] Use cached assets: C:\Users\User.uiautomator2\383030fa57087cbc4edca315ef01dac9fe671d3304263fb5f6016c6c\minitouch
[D 191105 22:12:39 init:186] Push to /data/local/tmp/minitouch:0755
[I 191105 22:12:39 init:281] abi:x86 seems to be android emulator, skip install minicap
[D 191105 22:12:39 init:48] Use cached assets: C:\Users\User.uiautomator2\6edef50a02af79ddf2217874d1ce621d4a847d6762dc86c10d5811a0\bundle.jar
[D 191105 22:12:39 init:186] Push to /data/local/tmp/bundle.jar:0644
[D 191105 22:12:40 init:48] Use cached assets: C:\Users\User.uiautomator2\42a21461fa2b0031646c206175ef315ae8a142421a7675e219336bca\uiautomator-stub.jar
[D 191105 22:12:40 init:186] Push to /data/local/tmp/uiautomator-stub.jar:0644
[I 191105 22:12:40 init:295] Already installed com.github.uiautomator apks
[D 191105 22:12:40 init:214] Real version: [0, 7, 4], Expect version: [0, 7, 4]
[I 191105 22:12:40 init:300] Check install
[D 191105 22:12:40 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:40 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:41 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:41 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:42 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:42 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:43 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:43 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:44 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
[D 191105 22:12:44 init:310] Forward: local:tcp:12388 -> remote:tcp:7912
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 672, in urlopen
chunked=chunked,
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "", line 3, in raise_from
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1336, in getresponse
response.begin()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 306, in begin
version, status, reason = self._read_status()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 267, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\adapters.py", line 449, in send
timeout=timeout
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\util\retry.py", line 400, in increment
raise six.reraise(type(error), error, _stacktrace)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\packages\six.py", line 734, in reraise
raise value.with_traceback(tb)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 672, in urlopen
chunked=chunked,
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "", line 3, in raise_from
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1336, in getresponse
response.begin()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 306, in begin
version, status, reason = self._read_status()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 267, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接 。', None, 10054, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in run_module_as_main
"main", mod_spec)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\uiautomator2_main
.py", line 229, in
main()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\uiautomator2_main
.py", line 219, in main
actionsargs.subparser
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\uiautomator2_main_.py", line 34, in cmd_init
init.install(args.server)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\uiautomator2\init.py", line 301, in install
self.check_atx_agent_version()
File "<C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\decorator.py:decorator-gen-4>", line 2, in check_atx_agent_version
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\retry\api.py", line 74, in retry_decorator
logger)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\retry\api.py", line 33, in __retry_internal
return f()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\uiautomator2\init.py", line 311, in check_atx_agent_version
version = requests.get("http://127.0.0.1:%d/version" % port).text.strip()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))

政策中心升级的时候程序报错退出

Traceback (most recent call last):
File "main.py", line 25, in
instance.start()
File "/mnt/d/Downloads/JGM-Automator/automator.py", line 42, in start
self.check_policy()
File "/mnt/d/Downloads/JGM-Automator/automator.py", line 142, in check_policy
if len(UIMatcher.findGreenArrow(self.d.screenshot(format="opencv"))):
File "/mnt/d/Downloads/JGM-Automator/cv.py", line 36, in findGreenArrow
cX = int(M["m10"] / M["m00"])
ZeroDivisionError: float division by zero

在MUMU模拟器上运行好像坐标设置有问题

mumu模拟器上运行,滑动收取金币明显上移,也检测不到小火车,一直报no train.
调整了模拟器分辨率设置还是不行

看到前面问题里大佬说,改成 USB 调试模式 这里不是很明白能否详细说明

他会卡在升级建筑的页面

卡在升级建筑的页面一直显示然后一直提示no goods wait 2s
能不能弄个检测10次火车没来就自动重启之类的 也方便到0点刷火车

华为P10,运行一会就出现混乱

手机是华为P10,运行大概1个小时左右,操作出现混乱,收货的时候会退出游戏,点开其他应用,屏幕会闪烁。终止程序后手机会非常卡,应用图标很长时间才会刷出来。重启手机之后就好了,怎么回事?

扫货过程中,报异常退出,遇到两次了,先记录

Traceback (most recent call last):
File "main.py", line 27, in
instance.start()
File "D:\Simple-JiaGuoMeng-Agent-master-saohuo\automator.py", line 47, in start
self.check_goods()
File "D:\Simple-JiaGuoMeng-Agent-master-saohuo\automator.py", line 167, in check_goods
self.harvest(self.harvest_filter, good_id)
File "D:\Simple-JiaGuoMeng-Agent-master-saohuo\automator.py", line 85, in harvest
pos_id = self.guess_good(good)
File "D:\Simple-JiaGuoMeng-Agent-master-saohuo\automator.py", line 97, in guess_good
diff_screens = self.get_screenshot_while_touching(GOODS_POSITIONS[good_id])
File "D:\Simple-JiaGuoMeng-Agent-master-saohuo\automator.py", line 104, in get_screenshot_while_touching
screen_before = self.d.screenshot(format="opencv")
File "C:\Users\binqi.zhang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2_init_.py", line 1175, in screenshot
return self.session().screenshot(*args, **kwargs)
File "<C:\Users\binqi.zhang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\decorator.py:decorator-gen-6>", line 2, in screenshot
File "C:\Users\binqi.zhang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\retry\api.py", line 74, in retry_decorator
logger)
File "C:\Users\binqi.zhang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\retry\api.py", line 33, in _retry_internal
return f()
File "C:\Users\binqi.zhang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\session.py", line 482, in screenshot
return cv2.imdecode(nparr, cv2.IMREAD_COLOR)
cv2.error: OpenCV(3.4.7) C:\projects\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:751: error: (-215:Assertion failed) !buf.empty() in function 'cv::imdecode
'

uiautomator2.exceptions.JsonRpcError: -32601 Method not found: <Method not found> data: , method: injectInputEvent

在跑了一段时间之后出现以下错误,似乎和火车有关:

PS C:\Users\qianxiaowei\Downloads\JGM-Automator-master\JGM-Automator-master> python main.py
2019-11-04 17:46:00,482 - root - INFO - device screen size 1080, 1920
2019-11-04 17:46:00,548 - root - INFO - App is front. JGM agent start in 5 seconds
2019-11-04 17:46:17,192 - root - INFO - [Mon Nov 4 17:46:17 2019] Train come.
Traceback (most recent call last):
File "main.py", line 38, in
instance.start()
File "C:\Users\qianxiaowei\Downloads\JGM-Automator-master\JGM-Automator-master\automator.py", line 46, in start
self.check_goods()
File "C:\Users\qianxiaowei\Downloads\JGM-Automator-master\JGM-Automator-master\automator.py", line 167, in check_goods
self.harvest(self.harvest_filter, good_id)
File "C:\Users\qianxiaowei\Downloads\JGM-Automator-master\JGM-Automator-master\automator.py", line 85, in harvest
pos_id = self.guess_good(good)
File "C:\Users\qianxiaowei\Downloads\JGM-Automator-master\JGM-Automator-master\automator.py", line 97, in guess_good
diff_screens = self.get_screenshot_while_touching(GOODS_POSITIONS[good_id])
File "C:\Users\qianxiaowei\Downloads\JGM-Automator-master\JGM-Automator-master\automator.py", line 108, in get_screenshot_while_touching
self.d.touch.down(x,y)
File "C:\Users\qianxiaowei\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\session.py", line 349, in down
obj.jsonrpc.injectInputEvent(ACTION_DOWN, x, y, 0)
File "C:\Users\qianxiaowei\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2_init_.py", line 440, in call
params, http_timeout)
File "<C:\Users\qianxiaowei\AppData\Local\Programs\Python\Python37-32\lib\site-packages\decorator.py:decorator-gen-12>", line 2, in jsonrpc_retry_call
File "C:\Users\qianxiaowei\AppData\Local\Programs\Python\Python37-32\lib\site-packages\retry\api.py", line 74, in retry_decorator
logger)
File "C:\Users\qianxiaowei\AppData\Local\Programs\Python\Python37-32\lib\site-packages\retry\api.py", line 33, in retry_internal
return f()
File "C:\Users\qianxiaowei\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2_init
.py", line 457, in jsonrpc_retry_call
return self.jsonrpc_call(*args, **kwargs)
File "C:\Users\qianxiaowei\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2_init
.py", line 542, in jsonrpc_call
raise err
uiautomator2.exceptions.JsonRpcError: -32601 Method not found: data: , method: injectInputEvent

启动main.py时报错是怎么回事呢?

需要手机吗?还是只有电脑就行。
(python37) C:\Users\Administrator\Desktop\JGM-Automator-master>python main.py
Traceback (most recent call last):
File "main.py", line 16, in
instance = Automator('localhost:7555', targets)
File "C:\Users\Administrator\Desktop\JGM-Automator-master\automator.py", line 11, in init
self.d = u2.connect(device)
File "C:\ProgramData\Anaconda3\envs\python37\lib\site-packages\uiautomator2_init_.py", line 122, in connect
return connect_usb(addr)
File "C:\ProgramData\Anaconda3\envs\python37\lib\site-packages\uiautomator2_init_.py", line 164, in connect_usb
lport = device.forward_port(7912)
File "C:\ProgramData\Anaconda3\envs\python37\lib\site-packages\adbutils_init_.py", line 383, in forward_port
for f in self.forward_list():
File "C:\ProgramData\Anaconda3\envs\python37\lib\site-packages\adbutils_init_.py", line 224, in forward_list
c.check_okay()
File "C:\ProgramData\Anaconda3\envs\python37\lib\site-packages\adbutils_init_.py", line 137, in check_okay
raise AdbError(self.read_string())
adbutils.errors.AdbError: unknown host service

自动升级政策可能需要更多的延迟

我的mumu自动升级政策失败,观测后猜想鼠标点的太快了,我加了两行等待时间。


        # 看看政策中心那里有没有冒绿色箭头气泡
        if len(UIMatcher.findGreenArrow(self.d.screenshot(format="opencv"))):
            # 打开政策中心
            self.d.click(0.206, 0.097)
            mid_wait()
            # 确认升级
            self.d.click(0.077, 0.122)
            # 拉到顶
            self._slide_to_top()
            # 开始找绿色箭头,找不到就往下滑,最多划5次
            for i in range(5):
                screen = self.d.screenshot(format="opencv")
                arrows = UIMatcher.findGreenArrow(screen)
                if len(arrows):
                    **time.sleep(2)**
                    x,y = arrows[0]
                    self.d.click(x,y) # 点击这个政策
                    short_wait()
                    **time.sleep(2)**
                    self.d.click(0.511, 0.614) # 确认升级
                    print("[%s] Policy upgraded.    ++++++"%time.asctime())
                    self._back_to_main()

                    return
                # 如果还没出现绿色箭头,往下划
                self.d.swipe(0.482, 0.809, 0.491, 0.516,duration = 0.3)
                **time.sleep(2)**
            self._back_to_main()

自动升级政策时候出错

Traceback (most recent call last):
  File "main.py", line 30, in <module>
    instance.start()
  File "/Users/xxxxxxxx/work/git_private/JGM-Automator/automator.py", line 42, in start
    self.check_policy()
  File "/Users/xxxxxxxx/work/git_private/JGM-Automator/automator.py", line 138, in check_policy
    if len(UIMatcher.findGreenArrow(self.d.screenshot(format="opencv"))):
  File "/Users/xxxxxxxx/work/git_private/JGM-Automator/cv.py", line 31, in findGreenArrow
    if cnts[1]:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

运行过程中报了一个奇怪的错,方便看一下原因吗

Traceback (most recent call last):
File "C:\Users\xxx" +
"\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 157, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "C:\Users\xxx" +
"\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\connection.py", line 84, in create_connection
raise err
File "C:\Users\xxx" +
"\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\connection.py", line 74, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 672, in urlopen
    chunked=chunked,
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 387, in _make_request
    conn.request(method, url, **httplib_request_kw)
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1244, in request
    self._send_request(method, url, body, headers, encode_chunked)
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1290, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1239, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1026, in _send_output
    self.send(msg)
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 966, in send
    self.connect()
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 184, in connect
    conn = self._new_conn()
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 169, in _new_conn
    self, "Failed to establish a new connection: %s" % e
    urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x0DB69530>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py", line 449, in send
    timeout=timeout
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 762, in urlopen
    **response_kw
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 762, in urlopen
    **response_kw
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 762, in urlopen
    **response_kw
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 720, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
    File "C:\Users\xxx" +
    "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\retry.py", line 436, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
    urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=58566): Max retries exceeded with url: /info (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0DB69530>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "mumu.py", line 27, in <module>
instance.start()
        File "C:\Users\xxx" +
        "\Desktop\JGM-Automator-master\automator.py", line 51, in start
        self.d.click(550/1080, 1650/1920)
        File "C:\Users\xxx" +
        "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\session.py", line 364, in click
        x, y = self.pos_rel2abs(x, y)
        File "C:\Users\xxx" +
        "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\session.py", line 155, in convert
        self.server.window_size())  # size will be [width, height]
        File "C:\Users\xxx" +
        "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\__init__.py", line 396, in window_size
        info = self._reqsess.get(self.path2url('/info')).json()
        File "C:\Users\xxx" +
        "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 546, in get
        return self.request('GET', url, **kwargs)
        File "C:\Users\xxx" +
        "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\uiautomator2\__init__.py", line 245, in request
        self).request(method, url, **kwargs)
        File "C:\Users\xxx" +
        "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 533, in request
        resp = self.send(prep, **send_kwargs)
        File "C:\Users\xxx" +
        "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 646, in send
        r = adapter.send(request, **kwargs)
        File "C:\Users\xxx" +
        "\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py", line 516, in send
        raise ConnectionError(e, request=request)
        requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=58566): Max retries exceeded with url: /info (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0DB69530>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

运行main.py时出错,使用的是手机

Traceback (most recent call last):
File "main.py", line 21, in
if b'connected' in subprocess.check_output('adb connect '+ MuMu):
File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 395, in check_output
**kwargs).stdout
File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 472, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 775, in init
restore_signals, start_new_session)
File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 1522, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'adb connect 127.0.0.1:7555': 'adb connect 127.0.0.1:7555'

只收金币不收货和升级建筑

前天用的都正常,可以收金币,在main里修改后可以升级指定建筑和收货。
昨晚开始就无法升级指定建筑和收货了。只是刷金币,出现 no goods。

运行之后无法挂机

采用1920*1080 16:9分辨率
可以正常启动软件,但是软件会误触公告,导致无法正常工作,也无法检查火车状态。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.