每当我的代码到达最后一行代码时,它都会单击convert按钮,将youtube音乐视频转换为mp3文件(不用担心,我使用的是非版权音乐),但只有网站本身会出现错误:红色框中按钮下方的参数无效。我尝试过其他格式,如.send_key(key.ENTER)或.submit(),但它们都以相同的方式被拒绝。我不建议用这个按钮点击第二个网站,因为它有一些可疑的添加,所以我用brave而不是Chrome。如果有人能抽出时间给我提建议,我将不胜感激,因为我已经花了好几个小时和最后一程了
按钮的HTML代码:
<button id="cvt-btn" class="btn btn-danger mr-1">Convert</button>
完整代码:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import StaleElementReferenceException
driver_path = "C:/Users/User/Documents/Python_Projects/chromedriver.exe"
brave_path = "C:/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe"
option = webdriver.ChromeOptions()
option.binary_location = brave_path
driver=webdriver.Chrome(executable_path=driver_path, chrome_options=option)
driver.maximize_window()
driver.implicitly_wait(2)
driver.get("https://www.youtube.com/watch?v=MkNeIUgNPQ8&list=PLzCxunOM5WFLNCSF0UEHZqFJJlmdeL71S")
driver.find_element_by_xpath("/html/body/ytd-app/ytd-consent-bump-v2-lightbox/tp-yt-paper-dialog/div[2]/div[2]/div[5]/div[2]/ytd-button-renderer[2]/a/tp-yt-paper-button").click()
lnks=driver.find_elements_by_tag_name("a")
songs = []
double = False
for lnk in lnks:
link = lnk.get_attribute("href")
if link != None:
if "FJJlmdeL71S&index=2" in link:
for i in songs:
if link == i:
double = True
else:
double = False
if double == False:
songs.append(link)
driver.implicitly_wait(2)
driver.get("https://youtubetomp3music.com/en26/")
for i in songs:
driver.find_element_by_xpath("/html/body/header/div[2]/div/div[2]/form/div/div[1]/input").send_keys(i)
driver.find_element_by_xpath("/html/body/header/div[2]/div/div[2]/form/div/div[2]/button").click()
driver.find_element_by_id("cvt-btn").click()
我没有完全运行您的程序,所以我不知道
songs
列表中到底存储了什么下面的代码是从您执行此操作的那一刻开始的
driver.get("https://youtubetomp3music.com/en26/")
,我正在执行只需到达最后一页,我们就可以单击转换按钮。
代码:-
导入:
相关问题 更多 >
编程相关推荐