如何使命令在另一个命令结束之前发生?

时间:2020-01-23 16:33:15

标签: python python-webbrowser

我想要一个脚本,该脚本以1秒的延迟打开带有不同链接的google chrome。

到目前为止,我已经得到:

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")

但是它将在chrome中打开第一个google.com,然后在我关闭第一个'inout Path' is not convertible to '@lvalue Path'时才打开下一个,因此它不起作用。

2 个答案:

答案 0 :(得分:1)

对于您遇到的这个问题,我感到有些惊讶:这是我刚刚编写的脚本,它忠实地打开了两个新标签页,而不必关闭原来创建的标签页。

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”。

答案 1 :(得分:0)

如何将webbrowser.get()代码包装在异步函数中呢?像这样:

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

然后从您的主程序中,只需调用:

openBrowser('google.com')

说明:async函数是与主程序“并行”运行的函数,因此该程序可以继续执行下一条指令,而无需等待该函数完成执行