Как мне правильно конвертировать этот файл в ехе, чтобы он работал как надо?

Через интерпретатор программа работает исправно

from selenium import webdriver
import time
from multiprocessing import Pool
import random

options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument(
    "user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36")


def get_data(url):
    try:
        driver = webdriver.Chrome(
            executable_path=r"C:\Users\\gfxvo\PycharmProjects\seleniumLibrary\chrome_driver\chromedriver.exe",
            options=options
        )
        driver.get(url=url)
        print("took url")
        time.sleep(3)
        driver.find_element_by_xpath("//div[@role='button']").click()
        print("closed captcha")
        time.sleep(3)
        driver.find_element_by_class_name("item-video-container").click()
        print("opened video")
        time.sleep(random.randrange(30, 40))

    except Exception as ex:
        print(ex)
    finally:
        driver.close()
        driver.quit()


if __name__ == "__main__":
    process_count = 2
    url = "https://www.tiktok.com/"
    urls_list = [url] * process_count
    p = Pool(processes=process_count)
    p.map(get_data, urls_list)

Я использовал auto-py-to-exe, чтобы переделать эту программу под ехе-шник, у меня получилось, но вот программа не работает. Ехе-шник в моей теории должен запускать 2 вкладки с тик-током, а через время их закрывать.


Ответы (1 шт):

Автор решения: gil9red

Из комментариев выяснилось, что при использовании процессов код не выполнялся:

from multiprocessing import Pool

...

    p.map(get_data, urls_list)

Решением будет использовать потоки, для этого достаточно поменять импорт на:

from multiprocessing.dummy import Pool
→ Ссылка