Я только что получил кодировку Python (Jython) несколько часов назад, и я пытаюсь автоматизировать Kik messenger (используя эмулятор Android) с использованием Sikuli IDE.Python - код игнорирует `if`-statement?
Я пытаюсь сделать наблюдателя области, который сканирует изменения, если внесено изменение, он проверяет, найдены ли какие-либо команды. Я не совсем уверен, что я делаю, но это код, который я получил с некоторой помощью все вокруг веб и документаций:
cmdScanLoc = Region(Region(65,762,167,59))
def cmdHelp():
type("Help")
type(Key.ENTER)
cmdScanLoc.stopObserver()
def cmdPing():
type("Pong.")
type(Key.ENTER)
cmdScanLoc.stopObserver()
def changeDetected(event):
print("Change")
if cmdScanLoc.exists("1440090739688.png"):
cmdHelp()
elif cmdScanLoc.exists("1440090725124.png"):
cmdPing()
else:
print("No Command Found")
def startObserver():
cmdScanLoc.onChange(50,changeDetected)
cmdScanLoc.observe(10,background=False)
Settings.ObserveScanRate = 10
startObserver()
Вот журнал, после ввода пинг:
Change
!help
[log] TYPE "Help"
[log] TYPE "#ENTER."
Кажется, идет cmdHelp()
, хотя я набрал! Ping. Как это возможно? Он просто полностью игнорирует утверждение if
.
И здесь не образ области Я сканирования: http://i.imgur.com/QAP9OnV.png и изображение изображений я сканирование: http://i.imgur.com/wXxphQN.png(код в этом изображении больше не точно, как вы можете видеть)
Я был бы очень признателен, если бы кто-то мог вести меня в правильном направлении с помощью этого «командного сканера», где, если определенная команда обнаружена, вызывается соответствующая функция.
Спасибо большое за это, и извините, если это действительно пустой вопрос, я просто пытался часами и часами, просматривая документацию по Sikuli и Python, и я просто не могу заставить его работать ...
Итак, я все еще пытаюсь заставить эту работу работать долгое время, и это кажется слишком неустойчивым (кажется, полностью игнорирует оператор 'if' и переходит непосредственно к' cmdHelp() ', когда наблюдается изменение.) Прошу вас, опытные программисты python/jython, привести меня к лучшему методу делать такие вещи. :) Заранее спасибо! – SikuliXUser
Вероятно, это не игнорирует оператор 'if', это, вероятно,' cmdScanLoc.exists ("1440090739688.png") ', который оценивает что-то истинное. – skyking
Я не знаю, почему я получил downvoted, потому что я сделал много исследований, и вопрос кажется мне совершенно понятным. Я даже добавил изображения, чтобы сделать их еще более ясными ... если бы человек, который подавил меня, мог дать мне конструктивную критику, это было бы намного лучше. – SikuliXUser