我正在尝试为列表中的每个项目创建多个chrome线程,并同时为列表中的每个项目执行功能,但是不知道从哪里开始任何帮助将不胜感激。
代码段
import sys
def spotify(elem1, elem2, elem3):
print("proxy: {}, cc: {}, cvc: {}".format(elem1, elem2, elem3))
def get_cc():
cc = ['5136154545452522', '51365445452823', '51361265424522']
return cc
def get_cvc():
cvc = ['734', '690', '734']
return cvc
def get_proxies():
proxies = ['51.77.545.171:8080', '51.77.254.171:8080', '51.77.258.82:8080']
return proxies
proxArr = get_proxies()
ccArr = get_cc()
cvcArr = get_cvc()
yeslist = ['y','yes']
for elem in zip(proxArr, ccArr, cvcArr):
spotify(elem[0], elem[1], elem[2])
restart=input("Do you wish to start again: ").lower()
if restart not in yeslist:
sys.exit("Exiting")
与这里的答案类似,您可以启动多个Chrome浏览器线程。
execute_chrome
在这种情况下,定义一个执行Selenium代码的函数Thread
调用,例如args=(elem, )
my_selenium_tests.py
最好从命令行而不是从交互式环境(例如Jupyter笔记本)运行脚本
from selenium import webdriver
import threading
import random
import time
number_of_threads = 4
def execute_chrome(url):
chrome = webdriver.Chrome()
chrome.get(url)
time.sleep(1 + random.random() * 5)
driver.quit()
urls = ('https://www.google.com’,
'https://www.bing.com’,
'https://www.duckduckgo.com’,
'https://www.yahoo.com’)
threads = []
for i in range(number_of_threads):
t = threading.Thread(target=execute_chrome, args=(urls[i], ))
t.start()
threads.append(t)
for thread in threads:
thread.join()
我正在使用Python和tkinter创建一个游戏,当我试图添加一些音乐时,制作音乐的函数停止了脚本的其余部分(还有窗口)。所以我需要创建一个新的线程来播放音频并保持窗口工作... 我尝试了一些错误、不运行或停止窗口的事情,目前我有: 重要的细节:playSound函数什么也不返回,所以什么都不需要等待它。我也不太懂用Python编程,我更喜欢用Luau。
问题内容: 因此,我的目标是让函数启动自己的线程,以便可以并行运行,而不必等待上一个线程完成。问题在于,它似乎不是多线程的(意味着一个线程在另一个线程开始之前就完成了)。 我也有该函数的内部,但似乎启动的线程的标识与从其运行python脚本的主线程相同。我认为我的方法不正确。 问题答案: 这是常见错误,容易出错。 只需在主线程中一次执行您的函数,然后将(我想为您函数的返回值)作为函数传递给线程,这
问题内容: 我试图在Python中同时运行两个函数。我已经尝试使用下面的代码,但是当我执行代码时,第二个函数仅在第一个函数完成后才启动。 问题答案: 您做得正确。:) 尝试运行以下愚蠢的代码: 您将看到它先打印“ start func1”,然后再“ start func2”,然后(很长一段时间)后,您将最终看到函数结束。但是它们确实会同时执行。 由于进程需要一段时间才能启动,因此您甚至可能 在 “
下面是
我需要执行一些任务。有些任务是独立的,有些任务依赖于其他任务的成功执行。独立任务可以并行运行以获得更好的性能。我把这些任务称为服务。列说明哪些服务将以串联方式执行,哪些服务将以并联方式执行。列描述了一组定义的服务所遵循的执行顺序。例如,服务A和B应该并行运行。如果它们已成功执行,则将执行服务C。请注意,服务C并不直接依赖于其先前服务的输出,但它必须在成功执行其先前服务后运行,因为服务C在执行期间需