The House of Lords approved the bill without a formal vote at its final stage

Britain's upper house on Friday gave final approval to a law that would force Boris Johnson to delay Brexit, in a fresh setback for the British Prime Minister who is struggling in his bid to call an early election.

The draft, which now requires formal assent by Queen Elizabeth II to become law, would seek to postpone Brexit beyond the current deadline of October 31 if Johnson does not manage to strike a divorce agreement with the EU next month.

Johnson, who has said he would rather be "dead in a ditch" than ask for a delay, wants an early general election that could give him a mandate to take Britain out of the European Union with or without a divorce deal.

He spent Friday morning campaigning in Scotland among fishermen, who strongly backed the Brexit referendum in 2016.

Johnson received a boost when the High Court in London rejected a legal challenge against his decision to suspend parliament from next week.

But it granted permission for the case to go to the Supreme Court for an appeal scheduled for September 17.

"My legal team and I will not give up the fight for democracy," pro-EU campaigner Gina Miller told reporters.

Johnson has branded the bill a "surrender" that would allow the other 27 EU leaders to dictate the terms on which Britain leaves its closest neighbours after 46 years.

He sacked 21 Conservative rebels who voted for the legislation in the House of Commons on Tuesday.

The decision left him without a working majority in parliament.

Johnson's opponents are now widely expected to block for the second time Monday his attempt to schedule snap polls for October 15.

"Never in history has there been an opposition party that has been given a chance to have an election and has turned it down," Johnson said in Scotland.

"I think that they are making an extraordinary political mistake."

Deal 'not possible'

Johnson has been adamant that he will not seek a third Brexit delay this year.

The main opposition Labour Party is planning a strategy with smaller groups that could leave Johnson with no other alternative but to resign.

They are reportedly trying to make sure that an election is held only after Johnson is forced to go back on his word and seek a divorce delay.

This would happen if no new agreement is reached when Johnson attends an October 17-18 EU leaders' summit in Brussels.

None is expected and EU officials say they have heard no new proposals from Johnson's team.

Finnish Prime Minister Antti Rinne -- whose Nordic country holds the rotating EU presidency -- said a chaotic "no-deal Brexit" seemed unavoidable.

"I hope that we can reach a situation where this can be solved so that there is no mess, but it seems not possible now," Rinne said in Helsinki.

"We don't know what's happening there. It seems very obvious that we are not getting Brexit with an agreement."

Johnson disagreed.

"I don't think we'll get a no-deal Brexit," he said in Scotland.

"I am very confident I will get an agreement at the summit on October 17."

'Cunning wheeze'

Labour was negotiating on Friday with the pro-EU Scottish National Party (SNP) and smaller groups about their preferred date for the imminent election.

Johnson was also set to meet his team over the weekend to prepare for what promises to be another momentous week in the Brexit saga.

Labour foreign affairs spokeswoman Emily Thornberry said lawmakers did not trust "this prime minister, who is as slippery as can be".

She accused Johnson of trying to use an election "as a distraction whilst they, by some cunning wheeze, bounce us out of the EU".

SNP's parliamentary leader Ian Blackford also signalled his party's refusal to back an October 15 poll.

"The idea that he is coming with a motion to try and force an election having lost one (motion) this week is insane," he said.

"He is not going to compel parliamentarians to give him a mandate to determine the timing -- we don't trust him."