Как заставить команду произойти до того, как закончится другая? - PullRequest
0 голосов
/ 23 января 2020

Мне нужен скрипт, который открывает Google chrome с разными ссылками с задержкой в ​​1 секунду.

Пока у меня есть:

print("I")
import time
time.sleep(0.5)
print("Told")
import time
time.sleep(0.5)
print("You")
import time
time.sleep(0.5)
print("Not")
import time
time.sleep(0.5)
print("To")
import time
time.sleep(0.5)
print("Run")
import time
time.sleep(0.5)
print("Me!")
import webbrowser
webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open("google.com")
import webbrowser
import time
time.sleep(1)
webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open("google.com")

, но он откроет первый google.com в chrome, затем открывайте следующее, только когда я закрою первый, чтобы он не работал.

Ответы [ 2 ]

1 голос
/ 23 января 2020

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

import webbrowser

browser = webbrowser.get("firefox")

browser.open_new_tab("https://www.google.com")
print("Opened that. What next?")
browser.open_new_tab("https://www.twitter.com")
print("Opened that too.")

Вы уверены, что хотите передать полный путь к своему браузеру в функцию webbrowser.get? Попробуйте просто ввести "chrome", имя для браузера.

0 голосов
/ 23 января 2020

Как насчет упаковки вашего webbrowser.get() кода в асинхронную функцию? Что-то вроде:

async def openBorwser(url):
    webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open(url)

А затем из вашей основной программы вы можете просто вызвать:

openBrowser('google.com')

Объяснение: async функции - это функции, которые запускаются " параллельно "основной программе, чтобы программа могла перейти к следующей инструкции, не дожидаясь завершения функции sh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...