проблема в вашем коде: вы используете неправильное имя метода findALL. В супе-объекте нет метода findALL, поэтому для него не возвращается значение None.чтобы исправить это, используйте find_all для нового кода, также findAll должен работать (с строчной буквы double l).надеюсь, что это ясно для вас.
import requests
from bs4 import BeautifulSoup
link = "https://www.amazon.in/Power-Banks/b/ref=nav_shopall_sbc_mobcomp_powerbank?ie=UTF8&node=6612025031"
def amazon(url):
sourcecode = requests.get(url)
sourcecode_text = sourcecode.text
soup = BeautifulSoup(sourcecode_text, "html.parser")
# add "html.parser" as second arg , so you not get a warning .
# use soup.find_all for new code , also soup.findAll should work
for link in soup.find_all('a', {'class': 'a-link-normal aok-block a-text-normal'}):
href = link.get('href')
print(href)
amazon(link)