在python中运行并行的Selenuim控制的窗口

时间:2018-09-15 13:30:49

标签: python-3.x multithreading selenium

我能够使用selenuim和python运行多个chrome窗口,但是这些窗口一个接一个地运行,一个窗口完成其任务,然后移至下一个窗口,但是我希望它像多个窗口应该同时打开一样并行运行时间,所有点击都应以并行方式执行,假设要打开Facebook,登录和点赞的步骤,如果打开了30个窗口,则应同时在所有Chrome浏览器窗口中执行这三个步骤,然后应在Facebook上打开30个窗口同时执行动作。

这是我用来运行一个Chrome窗口的代码:

browser=webdriver.Chrome('C:/chromedriver.exe')
browser.get("facebook.com")
input = browser.find_element_by_xpath('//input[@type="email"]')
time.sleep(1)
input.click()

请让我知道我可以在python中使用什么以并行方式执行任务

1 个答案:

答案 0 :(得分:0)

尝试使用Threading library

import threading

def event():
    browser=webdriver.Chrome('C:/chromedriver.exe')
    browser.get("facebook.com")
    input = browser.find_element_by_xpath('//input[@type="email"]')
    time.sleep(1)
    input.click()
    browser.quit()

threads = []
for _ in range(30):
    thread = threading.Thread(target=event)
    threads.append(thread)
    thread.start()

for thread in threads:
    thread.join()

此代码应允许并行执行30次相同的动作

P.S。如果您要进行网站性能测试,可以尝试The Grinder tool