gpt4 book ai didi

javascript - 我可以使用 selenium-webdriver 一次(同时)运行多个实例吗?

转载 作者:行者123 更新时间:2023-12-03 13:08:20 24 4
gpt4 key购买 nike

我正在尝试使用 Selenium 自动上传文件。

我已经用 selenium-webdriver 写了一个小程序这样可行。

问题是,有数千个文件需要上传,我想同时运行多个浏览器实例以加快自动化速度。所以我尝试了这样的事情

var i = 0;
while (i < 10) {
i++;
var driver = new webdriver.Builder()
.forBrowser('firefox')
.build();

// login and upload files......
}

我预计这将一次创建 10 个浏览器实例,并同时进行自动化。

但实际上......上面的代码将“一个接一个”地创建浏览器实例,这意味着它不会创建另一个实例,直到前一个实例完成。

我也尝试在多个 shell 实例中执行程序,这将为我启动多个浏览器实例,但我只是不想这样做......

最佳答案

那么您需要创建多个线程而不是循环,然后您可以在并行线程中启动每个上传。你在正确的轨道上。你不需要 Selenium 网格来实现这一点。

查找有关多线程的信息。您可以从 answer 开始

您需要网格来执行多个浏览器 session 是不对的。您可以通过创建多个驱动程序对象并管理它们来调用多个浏览器 session 。如果您愿意,每个 session 将是分开的。

网格用于扩展,因为您可以运行的浏览器实例的数量是有限的,可以保持您的机器性能完好无损并且测试稳定。就像一台机器上超过 5 个 chrome 实例。如果你想做更多的事情,那么你必须使用 selenium Grid。

关于javascript - 我可以使用 selenium-webdriver 一次(同时)运行多个实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33741921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com