在一个浏览器窗口中对Selenium对象进行Python多处理。。。可能的(镀铬;内部示例)

2024-09-30 05:31:01 发布

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

快速概述我想做的事情:

  1. 通过selenium打开网站

  2. 从中收集许多对象(在本例中是200个js复选框)

  3. 尽快单击所有,这将需要使用我的处理器的所有内核,以便每个内核负责大约四分之一的对象(因为我有4个内核)

我已经编写了代码,这样它就可以像一个魔咒一样工作,而不需要进行多重处理

因此,如果我想使用MP,现在的计划是大致做到:

import selenium_operations as sop 
#^separate file in which I've defined some selenium-related functions 
#related to mining stuff from a webpage

from multiprocessing import Process

if __name__ == '__main__':

    boxes = sop.getBoxes(selection) #get the boxes. There's 200 of them

    box_set_1 = Process(target=sop.clickBoxes, args=(boxes[0:50],))
    box_set_2 = Process(target=sop.clickBoxes, args=(boxes[50:100],))
    box_set_3 = Process(target=sop.clickBoxes, args=(boxes[100:150],))
    box_set_4 = Process(target=sop.clickBoxes, args=(boxes[150:200],))
    
    box_set_1.start() #click the boxes
    box_set_2.start()
    box_set_3.start()
    box_set_4.start()
    
    box_set_1.join()
    box_set_2.join()
    box_set_3.join()
    box_set_4.join()

好看吗?还是tere是我应该知道的

p.s.am使用铬


Tags: 对象importboxtargetseleniumargsprocess内核

热门问题