Как создать exe файл используя python и selenium
уже всю ночь гуглил, никак не могу понять как создать exe-шник в один файл используя selenium. У меня есть такой код:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
def parse():
keywords = input("Write keywords: ")
driver = webdriver.Chrome('./driver/chromedriver.exe', options=Options())
driver.wait = WebDriverWait(driver, 5)
for key in keywords.split(","):
driver.get(f"https://www.google.com/search?q={key}&tbm=shop")
names = []
try:
is_load = bool(driver.wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "aULzUe"))))
name_blocks = driver.find_elements(By.CLASS_NAME, "aULzUe")
for i in name_blocks:
if i.text not in names:
names.append(i.text)
except Exception as error:
print(f"This keyword '{key}' isn't correct!!!\nThe problem is {error}")
continue
with open(f"{key}.txt", "w", encoding="utf-8") as file:
for name in names:
file.write(name + "\n")
driver.close()
if __name__ == "__main__":
try:
parse()
except Exception as er:
answer = input(f"The problem is {er}")
Я уже пробовал и добавление chromedriver через pyinstaller (--add-binary), ссылаясь на вот эту статью https://www.zacoding.com/en/post/python-selenium-to-exe/ и менял получившийся spec файл также добавляя туда chromedriver вот таким образом:
a = Analysis(...
binaries=[ ( './driver/chromedriver.exe', './driver' ) ],
Каждый раз я получаю один и тот-же результат - создаеться exe файл, но пытаясь его открыть он тут же закрывается с ошибкой:
FileNotFoundError: [Errno 2] No such file or directory:
'C:\\Users\\E8E5~1\\AppData\\Local\\Temp\\_MEI13282\\selenium\\webdriver\\re
mote\\getAttribute.js'
[2004] Failed to execute script 'main' due to unhandled exception!
Уже правда не знаю что еще можно сделать, мне начинает казаться, что создать exe файл с использованием selenium просто невозможно.
Вот список всех актуальный версий моего проэкта:
selenium == 4.1.0
pyinstaller == 4.7
pip == 21.1.2
Python == 3.9.4
Ответы (1 шт):
можешь попробовать webdriver_manager
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())