input: Write a python function to scrape product details from a given URL using BeautifulSoup.
  assert scrape_product_details('https://example.com/products.html') == [{'title': 'Product 1', 'price': '$10', 'description': 'Description 1', 'image_url': 'http://example.com/image1.jpg'}, {'title': 'Product 2', 'price': '$20', 'description': 'Description 2', 'image_url': 'http://example.com/image2.jpg'}]
  assert scrape_product_details('https://example.com/products.html') == [{'title': 'Product A', 'price': '$15', 'description': 'Description A', 'image_url': 'http://example.com/imageA.jpg'}, {'title': 'Product B', 'price': '$25', 'description': 'Description B', 'image_url': 'http://example.com/imageB.jpg'}]
output: def scrape_product_details(url):
      import requests
      from bs4 import BeautifulSoup
  
      response = requests.get(url)
      soup = BeautifulSoup(response.content, 'html.parser')
  
      products = []
      for product in soup.select('.product'):
          title = product.select_one('.title').get_text(strip=True)
          price = product.select_one('.price').get_text(strip=True)
          description = product.select_one('.description').get_text(strip=True)
          image_url = product.select_one('.image img')['src']
          
          products.append({
              'title': title,
              'price': price,
              'description': description,
              'image_url': image_url
          })
  
      return products