Total 25 to 30 phones are visible on Flipkart page for iPhone search but I am getting only 10 phones list. I am not able to figure out where went wrong.
This might be due to the class you're targeting in soup.findall()
Or due to some shortcomings of the BeautifulSoup library for dynamic websites.
You can try Selenium or Scrapy libraries for web scraping as they provide more advanced control to the scraping process.