input: Write a python function to generate a new Ethereum wallet address using the Web3 library.
  assert generate_wallet_address('my_wallet_password').startswith('0x')
  assert isinstance(generate_wallet_address('another_password'), str)
  assert len(generate_wallet_address('password123')) == 42
output: def generate_wallet_address(password):
      from web3 import Web3
      from eth_account import Account
      import secrets
  
      # Generate a random private key
      private_key = "0x" + secrets.token_hex(32)
      
      # Generate an account from the private key
      account = Account.from_key(private_key)
      
      # Encrypt the private key with the given password
      encrypted = Account.encrypt(private_key, password)
      
      # Return the wallet address
      return account.address