Открыть перечисленные URL по порядку в Python 3? - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь открыть набор URL-ссылок в веб-браузере в том порядке, в котором они перечислены, но каждый раз, когда я запускаю приведенный ниже код, порядок меняется.Я новичок в написании сценариев, но понимаю, что списки следят за порядком, который я использую ниже, поэтому я не понимаю, почему он не работает.Я подозреваю, что это может быть связано со временем загрузки определенных страниц, так что я могу сделать, чтобы убедиться, что отдельные вкладки открываются в указанном порядке, и обойти влияние времени загрузки страницы на порядок?

import webbrowser

urls = ["google.com", "yahoo.com", "bing.com", "duckduckgo.com"]


firefox_path = "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
webbrowser.register('firefox', None, webbrowser.BackgroundBrowser(firefox_path), 1)

for i in urls:
   webbrowser.get('firefox').open_new_tab(i)

1 Ответ

0 голосов
/ 20 мая 2018

Ваш код верен, однако цикл for слишком быстр для webbrowser, чтобы понять, что Firefox уже открыт.

Просто добавьте задержку в цикл for, и это решит проблему:

import webbrowser
import time

urls = ["google.com", "yahoo.com", "bing.com", "duckduckgo.com"]


firefox_path = "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
webbrowser.register('firefox', None, webbrowser.BackgroundBrowser(firefox_path), 1)

for i in urls:
    webbrowser.get('firefox').open_new_tab(i)
    time.sleep(1)
...