如何将带有参数的类传入ThreadPoolExecutorpython

如何将带有参数的类传入ThreadPoolExecutorpython,python,python-3.x,multithreading,python-multithreading,Python,Python 3.x,Multithreading,Python Multithreading,我知道如何在函数中使用线程,但是类呢?我不确定应该如何正确格式化它,以便它接受驱动程序作为参数。我想这就是这里发生的事情,任何帮助都将不胜感激 from selenium import webdriver from time import sleep import concurrent.futures import random import selenium class createMail: def __init__(self, full, driver): s

我知道如何在函数中使用线程,但是类呢?我不确定应该如何正确格式化它,以便它接受驱动程序作为参数。我想这就是这里发生的事情,任何帮助都将不胜感激


from selenium import webdriver
from time import sleep
import concurrent.futures
import random
import selenium

class createMail:

    def __init__(self, full, driver):
        self.full = full
        self.driver = driver

    def open_broswer(self, full, driver):

        a, b = full

        print(f'first name: {a}') 
        print(f'last name: {b}') 
    
def name_generator():

    first_name_choice = 'my first name'
    last_name_choice = 'my last name'

    return first_name_choice, last_name_choice

def address_generator(full_name):

    a, b = full_name

    return a, b

driver = webdriver.Chrome('C:/Users/husse/Downloads/chromedriver_win32/chromedriver.exe')

"""
# this is the setup I had before
create_user = createMail('', '')
create_user.open_broswer(address_generator(name_generator()), driver)
"""

if __name__ == '__main__':
    with concurrent.futures.ThreadPoolExecutor() as executor:
        create_user = createMail('', '')
        f1 = executor.submit(create_user.open_broswer(address_generator(name_generator()), driver))


返回的内容和错误消息:

first name: my first name
last name: my last name
Traceback (most recent call last):
  File "c:\Users\husse\Python\TheEverBot\threadtest.py", line 46, in <module>
    f1 = executor.submit(create_user.open_broswer(address_generator(name_generator()), driver))
  File "c:\Users\husse\Python\TheEverBot\threadtest.py", line 20, in open_broswer
    driver.get('www.google.com')
  File "C:\Users\husse\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
    self.execute(Command.GET, {'url': url})
  File "C:\Users\husse\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\husse\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
  (Session info: chrome=89.0.4389.128)
名字:我的名字
姓:我的姓
回溯(最近一次呼叫最后一次):
文件“c:\Users\husse\Python\TheEverBot\threadtest.py”,第46行,在
f1=执行者.提交(创建用户.打开浏览器(地址生成器(名称生成器()),驱动程序))
文件“c:\Users\husse\Python\TheEverBot\threadtest.py”,第20行,在open\u broswer中
driver.get('www.google.com')
文件“C:\Users\husse\AppData\Local\Programs\Python\39\lib\site packages\selenium\webdriver\remote\webdriver.py”,第333行,在get中
self.execute(Command.GET,{'url':url})
文件“C:\Users\husse\AppData\Local\Programs\Python\39\lib\site packages\selenium\webdriver\remote\webdriver.py”,第321行,在execute中
self.error\u handler.check\u响应(响应)
文件“C:\Users\husse\AppData\Local\Programs\Python\39\lib\site packages\selenium\webdriver\remote\errorhandler.py”,第242行,在check\u响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.InvalidArgumentException:消息:参数无效
(会话信息:chrome=89.0.4389.128)