Задать вопрос
  • Как правильно использовать оператор or в pyautogui?

    Vindicar
    @Vindicar
    RTFM!
    Первый вариант правильный, второй не очень.
    Но есть два но:
    1. Тебе важен только сам факт наличия картинки на экране, или нужны её координаты?
    Если нужны координаты, то лучше сделать по умному, и не искать одну и ту же картинку дважды:
    # перечисляешь в списке изображения. цикл остановится на первом найденном.
    for image in ['link.png', 'link1.png']:
        location = pyautogui.locateOnScreen(image)
        if location is not None:
            break
    else:
        image, location = None, None

    Тогда дальше сможешь проверить, если location is not None - значит, что-то нашли. Что именно - лежит в image. Где именно - лежит в location.

    2. Какая у тебя версия библиотеки pyautogui? Начиная с 0.9.41, вместо функция locateOnScreen(), не найдя изображение, не вернёт None, а выкинет исключение. Тогда код будет выглядеть как-то так:

    for image in ['link.png', 'link1.png']:
        try:
            location = pyautogui.locateOnScreen(image)
        except pyautogui.ImageNotFoundException:
            pass
        else:
            break
    else:
        image, location = None, None
    Ответ написан
    Комментировать