许多Selenium浏览器执行相同的任务(python)

2024-04-24 22:19:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个识别网站的ID列表。我需要这样做:

Open a browser
open a main website that allows a query
for id in ids:
    -search in the main website the id,
    so that I get the website corresponding to the id with the browser
    -load the website corresponding to id with the browser
    -do some stuff with the info in the website

每个循环可能需要10秒钟。如果我有很多身份证这当然是个问题

我注意到循环是独立的。也就是说,如果我把ids列表分为2,编写2个类似于上面框的python脚本,并从不同的终端运行它们,我将花费一半的时间。有没有一种方法可以在不同的浏览器中同时执行循环(例如,同时执行6个循环)(实际上都是Firefox,但是不同的窗口)

我想做的是创建一个ID队列,并在主网站上设置一些(比如说6个)Firefox窗口。队列中的第一个id将转到第一个窗口,循环开始。第二个身份证。。。等。。。。当一个循环完成时(比如说第3个窗口比其他窗口更早完成它的循环),那么该窗口可用于下一个循环,因此队列中的下一个id将由该窗口处理

抱歉,如果我的语言不是很专业。谢谢你的帮助


Tags: thetoinbrowseridids列表that
1条回答
网友
1楼 · 发布于 2024-04-24 22:19:30

如果你认为把它分成两部分会有助于加快速度,那么你可以这样做(进一步的分裂技术)

1)编写一个以网站id为参数的函数

2)编写一个for循环,反复调用def并发送next id

像这样:

def check(id):
    open("id")

ids=[id1, id2, ...]

for id in ids:
    check(id)

相关问题 更多 >