How do i switch this attack script to a Tag,Please help

how do I switch this from gameobject to a tag “Player”, it was working fine but when I went to spawn the GameObjects they were unassigned, please help,much appreciated

public GameObject target;
public float attackTimer;
public float coolDown;

public float attackTimer;
public float coolDown;

// Use this for initialization
void Start () {
	attackTimer = 0;
	coolDown = 0.1f;

	

}

// Update is called once per frame
void Update () {
	if(attackTimer > 0)
		attackTimer -= Time.deltaTime;
	
	if(attackTimer < 0)
		attackTimer = 0;
	
		if(attackTimer == 0){
		Attack();
			attackTimer = coolDown;
		}

}
private void Attack(){
		
	
	float distance = Vector3.Distance(target.transform.position, transform.position);
	
	Vector3 dir = (target.transform.position - transform.position).normalized;
	
	float direction = Vector3.Dot(dir, transform.forward);
	
	
	
	if(distance < 2) {
		if(direction > 0) {
	PlayerHealth eh = (PlayerHealth)target.GetComponent("PlayerHealth");
	eh.AddjustCurrentHealth(-3);
	}
}

}
}

If this script is assigned to the enemies, they must find the player preferably at Start, like this:

void Start () {
    attackTimer = 0;
    coolDown = 0.1f;
    target = GameObject.FindWithTag("Player"); 
}