Until the unemployment rate goes down to zero, Americans need to have jobs as opposed to immigrant workers. Plus, companies in America need to hire legal workers for jobs, not illegals who take away from American jobs. Yes, it is protectionist, but American citizens need jobs first ahead of guest workers and green-carded immigrants.
This is because there is a massively unemployed population in America. When there are people here jobless there is no reason to have a guest worker immigration program bringing in more people to take jobs from those that are already here. If the economy was in better shape, this would be a more acceptable idea.