Первый вариант правильный, второй не очень.
Но есть два но:
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