US House votes for a third time to end Trump's Iran war, with seven Republicans joining Democrats ahead of the November midterm elections.