什么是同时使用多个硒驱动程序的正确方法?

时间:2019-07-08 17:45:59

标签: python selenium concurrency

目标是编写一个python脚本,以打开一个特定的网站,填写一些输入,然后提交。对于同一网站,应同时使用不同的输入。

我尝试使用线程和其他一些东西中的线程,但是我无法使其同时工作。

from selenium import webdriver
import time
from threading import Thread


def test_function():
    driver = webdriver.Chrome()
    driver.get("https://www.google.com")
    time.sleep(3)


if __name__ =='__main__':
    Thread(target = test_function()).start()
    Thread(target = test_function()).start()

因此执行此代码的目的是同时打开2个Chrome浏览器窗口,转到Google,然后等待3秒钟。现在要做的就是以串行方式两次调用该函数。

2 个答案:

答案 0 :(得分:1)

  

现在所有要做的就是调用该函数   连续两次。

您看到的行为是因为将test_function()作为目标传递时正在调用它。而不是调用函数,只需分配可调用名称(test_function)。

像这样:

Thread(target=test_function).start()

答案 1 :(得分:0)

您将需要像pytest这样的测试框架来并行执行测试。这是一个快速设置指南,可助您一臂之力。

PythonWebdriverParallel