我想初始化4个chromes并写下以下内容:
def get_driver(i):
print(i)
driver = webdriver.Chrome(chrome_options=options)
return driver
if __name__ == '__main__':
with Pool(4) as p:
drv = p.map(get_driver, [i for i in range(4)])
Error: multiprocessing.pool.MaybeEncodingError: Error sending result:
'[<selenium.webdriver.chrome.webdriver.WebDriver
(session="466ec119aff28d62c3c621af2b190b0f")>]'.
Reason: 'AttributeError("Can't pickle local object '_createenviron.<locals>.encodekey'",)'
如何解决这个问题?
答案 0 :(得分:0)
这个问题很老了,但是对于某些人来说可以派上用场,您不需要将其转移到游泳池中,而是立即使用它。
def get_driver():
driver = webdriver.Chrome(chrome_options=options)
print("open browser, current session is {}".format(driver.session_id))
return driver
def open_page(url)
driver = get_driver()
browser.get(url)
if __name__ == '__main__':
url = [['http://ya.ru'],['http://www.google.com']]
p = Pool(2)
p.starmap(open_page, tuple(url))