if ALL elas checks out it's more than liky the contacts in the starter.
x2
i had the same problem with my old 4runner, but my problem got worce and worce. i figured it was the brushes not makeing contact with the com. tore the truck apart before i ever figured it out. try spraying some brake clean in the starter, might clean it out