gpt4 book ai didi

python - 如何让我的线程在 Python 中运行?

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:52 25 4
gpt4 key购买 nike

我可以用我的代码很好地调用类实例,但似乎无法将其转为多线程。看起来线程没有启动,即使它们还活着。

我已经阅读了有关线程的文档,尝试使用 super() 等。

#!/usr/local/bin/python3

from selenium import webdriver
from threading import Thread

class Dashboard(Thread):

def __init__(self, position, url):
super().__init__()
self.position = position
self.url = url

def instance(self):

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--start-maximized')
chrome_options.add_argument('--window-size=2560,1600')
chrome_options.add_argument(self.position)
self.driver = webdriver.Chrome(options=chrome_options)
self.driver.get(self.url)

screen1 = Dashboard('--window-position=1000,1000', 'https://www.facebook.com')
screen2 = Dashboard('--window-position=1,1', 'https://www.youtube.com')

screen1.start()
print(screen1.is_alive)
screen2.start()
print(screen2.is_alive)

输出为:

<bound method Thread.is_alive of <Dashboard(Thread-1, stopped 123145347162112)>>
<bound method Thread.is_alive of <Dashboard(Thread-2, stopped 123145347162112)>>

最佳答案

您没有向父类(super class)构造函数提供任何参数,这意味着目标是None

假设您希望在调用 screen1.start() 时执行 instance() 方法,请尝试以下操作:

super().__init__(target=self.instance)

此外,您可能想要调用 is_alive 方法,而不是打印其签名。

关于python - 如何让我的线程在 Python 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58279182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com