这个 python selenium 程序不迭代

普拉文·库马尔

我想使用 while 循环来迭代该函数,但它只迭代一次,之后,程序就静止不动了。

from selenium import webdriver
from multiprocessing import Process


def browse(url):
    driver = webdriver.Chrome()
    driver.get(url)
    print(driver.page_source)
    driver.__exit__()

Pros = []
urls = open('urls.txt')

if __name__ == '__main__':
    while True:
        for url_item in urls:
            print(url_item)
            p = Process(target=browse, args=(url_item,))
            Pros.append(p)
            p.start()
        for t in Pros:
            t.join()
德源

主要问题取决于文件内容的读取方式以及 Process 对象的启动方式。它从临时 Process 对象而不是进程列表中的 Process 对象开始(优点)。简而言之,这只是一个引用问题和使用文件对象的错误方式。这是工作代码。

from selenium import webdriver
from multiprocessing import Process


def browse(URL):
    driver = webdriver.Chrome()
    driver.get(URL)
    print(driver.page_source)
    driver.__exit__()

Pros = []
urls = open('urls.txt').readlines()

if __name__ == '__main__':
    while True:
        print("testing")
        for url_item in urls:
            print(url_item)
            p = Process(target=browse, args=(url_item,))
            Pros.append(p)
            Pros[-1].start()
        for t in Pros:
            t.join()
        Pros = []

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章