【发布时间】:2019-09-03 16:07:25
【问题描述】:
我正在尝试在使用多线程的同时使用 Selenium 来自动化网站。
目前,我在尝试通过测试用例代码中的代码打印日志信息时遇到了问题。
这是我正在使用的代码的 sn-p。
测试用例代码 -
def test_logic():
driver = webdriver.Chrome(executable_path=r'./chromedriver')
url = 'https://discordapp.com/channels/'
driver.get(url)
print(datetime.now(),'Discord Launched, Searching For Fields.')
inputElement = driver.find_element_by_xpath("//*[@type='email']")
inputElement.send_keys('coding@yahoo.com')
print(datetime.now(),'Typing in email bar')
inputElement = driver.find_element_by_xpath("//*[@type='password']")
inputElement.send_keys('ilove2code')
print(datetime.now(),'Typing in password bar')
time.sleep(20)
driver.quit()
多线程代码 -
def multi():
N = 2 # Number of browsers to spawn
thread_list = list()
# Start test
for i in range(N):
t = threading.Thread(name='Task {}'.format(i), target=test_logic)
t.start()
time.sleep(1)
print (t.name , 'started!')
thread_list.append(t)
# Wait for all thre<ads to complete
for thread in thread_list:
thread.join()
print ('Test completed!')
目前这是我的输出 -
Task 0 started!
Task 1 started!
2019-09-03 10:50:37.914244 Discord Launched, Searching For Fields.
2019-09-03 10:50:38.248029 Discord Launched, Searching For Fields
2019-09-03 10:50:38.418392 Typing in email bar
2019-09-03 10:50:38.569400 Typing in password bar
2019-09-03 10:50:38.833535 Typing in email bar
2019-09-03 10:50:38.939082 Typing in password bar
Test completed!
我正在努力实现这个输出
Task 0 started!
Task 1 started!
2019-09-03 10:50:37.914244 Task 0 Discord Launched, Searching For Fields.
2019-09-03 10:50:38.248029 Task 1 Discord Launched, Searching For Fields
2019-09-03 10:50:38.418392 Task 0 Typing in email bar
2019-09-03 10:50:38.569400 Task 0 Typing in password bar
2019-09-03 10:50:38.833535 Task 1 Typing in email bar
2019-09-03 10:50:38.939082 Task 1 Typing in password bar
Test completed!
任何帮助和建议将不胜感激。谢谢你。
【问题讨论】:
标签: python multithreading selenium-webdriver logging