Я поместил ваш код в файл .py (немного изменил его для отладки) и дважды щелкнул по нему . Затем всплыла консоль (как и ожидалось) и попросила меня сделать первый ввод. Я вставил URL-адрес Google, и он также инициализировал веб-драйвер (позже это не удалось, но это связано с тем, что я использую Google в качестве (неправильного) примера.
Так что ваша программа должна работать(и запустить) двойным щелчком мыши!
![enter image description here](https://i.stack.imgur.com/5H0lt.png)
Вот мой слегка измененный код (FYI):
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import re
import time
adres = input(r"""WPROWADŹ PEŁEN ADRES URL PLAYLISTY Z YT np.: 'https://www.youtube.com/playlist?list=PLP0.....': """)
adres = str(adres)
print('ran this code..(before initializing the webdriver)')
driver = webdriver.Chrome()
driver.get(adres)
print('ran this code..(after initializing the webdriver)')
dane = driver.execute_script("return document.documentElement.outerHTML")
soup = BeautifulSoup(dane, 'lxml')
elm = driver.find_element_by_tag_name('html')
nr_film = soup.find('div', {'class': 'style-scope ytd-playlist-sidebar-primary-info-renderer'})
nr_film = nr_film.find('yt-formatted-string', {'class': 'style-scope ytd-playlist-sidebar-primary-info-renderer'}).text
ile = re.findall('\d{1,}', nr_film)
ile = ile[0]
ile = int(ile)
w_dol = ile//100+1
print('ran this code..2')
l=1
l = int(l)
while l < w_dol:
l=l+1
elm.send_keys(Keys.END)
time.sleep(4)
dane = driver.execute_script("return document.documentElement.outerHTML")
soup = BeautifulSoup(dane, 'lxml')
driver.quit()
filmy = soup.findAll('ytd-playlist-video-renderer', {'class': 'style-scope ytd-playlist-video-list-renderer'})
f = open("songs.txt", "w+")
kolej=1
for film in filmy:
url = film.find('a', {'class': 'yt-simple-endpoint'}).get('href').replace('\n', '')
tytul = film.find('span', {'id': 'video-title'}).text.replace('\n', '')
link = "https://www.youtube.com"+url+"\n"
f.write(link)
#print(kolej, ". ")#tutaj był też print tytul ale buggi więc usuwam
#print(link)
kolej=kolej+1
f.close()
ile_2 = str(ile)
print("Tyle jest filmów w playliście: " + ile_2)
print(r"Teraz linki z tymi filmami są w pliku 'songs.txt'.")
ПРИЧИНА:
Машина, на которой вы пытаетесь выполнить файл .py (двойным щелчком мыши), не была правильно установлена / сообщена, что делать при этом (выполнение двойным щелчком мыши)происходит.
Вы хотите, чтобы он выполнял файл .py с вашим интерпретатором Python 3.x (исполняемый файл).
РЕШЕНИЕ:
Проверьте, еслимашина открывает Python-файл с помощью Python (см. изображение ниже). Если нет, сделайте это так.
В Windows это можно легко сделать, щелкнув правой кнопкой мыши и выбрав «Открыть с помощью». Затемвыберите Python (или перейдите в папку, где установлен исполняемый файл Python) и установите флажок «Всегда использовать это приложение, чтобы открыть.py файлы '.
![enter image description here](https://i.stack.imgur.com/qhGhn.png)
Если это не решит проблему, то обязательно проверьте переменную среды PATH, чтобы увидеть, есть ли у вас путь к (ПРАВИЛЬНОИсполняемый файл Python. Если у вас есть больше версий Python (например, Python 2.x и 3.x на одной машине), это может быть проблемой.
Если это не сработает, назовите это днем, удалите все версии Python и установите их снова (оставив все настройки по умолчанию во время установки).