from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
import threading
global counter
counter = 0
driver = webdriver.PhantomJS()
driver.set_window_size(1920, 1080)
class ssbooster(threading.Thread):
def login_logout(self):
while True:
driver.get('x')
select = Select(driver.find_element_by_id('x'))
select.select_by_visible_text('x')
driver.find_element_by_id('x').send_keys('x')
driver.find_element_by_id('x').send_keys('x')
driver.find_element_by_name('button').click()
global counter
counter += 1
print(counter)
x = ssbooster(ssbooster)
y = ssbooster(ssbooster)
x.start()
y.start()
这个脚本使用的是PhantomJS,我不知道这是不是问题所在。当我尝试运行此代码时,我收到此错误。
Traceback (most recent call last):
File "C:/Users/x/Desktop/x/x.py", line 25, in <module>
x = ssbooster(ssbooster)
File "C:\Users\x\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 780, in __init__
assert group is None, "group argument must be None for now"
AssertionError: group argument must be None for now
我试着搜索一下,但所有答案都让我很困惑。如果有人能告诉我导致问题的原因以及如何解决问题,我会赞不绝口。
谢谢!
答案 0 :(得分:0)
您正在传递该类以初始化您的线程类
x = ssbooster(ssbooster)
y = ssbooster(ssbooster)
x.start()
y.start()
您只需要实例化您的类以启动线程。所以你的代码应该是
x = ssbooster()
y = ssbooster()
x.start()
y.start()
此外,您的代码将无法正常工作,因为您正在使用针对两个线程的公共驱动程序。您需要为每个线程都有一个驱动程序,或者等待轮到您使用驱动程序,这使得它只是一个顺序任务。请参阅下面的线程,其中显示了您关于线程的共享变量
Python creating a shared variable between threads
另请参阅此内容以了解如何为每个线程创建单独的驱动程序