selenium 为什么Process.terminate()会锁定我的代码?

6ie5vjzr  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(111)

我正在做一些测试我的刮取代码:我注意到driver.get()有时候不能完成任务,所以我用多处理做了一个测试,如果进程持续超过x秒,它应该完成,但是当我尝试下面的代码时,它只是锁定了整个调度(它没有完成):

  • edit * 代码中有一个错误,但这不是重点:所以我就写了。
import multiprocessing
from time import sleep

def worker():
    # i am using sleep here in the place of drive.get() to turn it 
    # easier to replicate: the effect i get is the same.
    sleep(4)

if __name__ == '__main__':
    p = multiprocessing.Process(target=worker)
    p.start()
    sleep(3)
    p.kill()
    print('passed')

我期待打印返回“passed”,但它就是不通过p.kill(),永远不会结束,我在windows10python3.9,windows7python3.7和google colab上试过。

blmhpbnm

blmhpbnm1#

保罗刚刚在评论中回答了正上方的问题:)

相关问题