如果在while循环和for循环中按下按钮,则发送elem.click()


import pyautogui as py
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import keyboard
driver = webdriver.Chrome()
driver.get('https://www.youtube.com/watch?v=pcel9QTPx_g&list=RDpcel9QTPx_g&start_radio=1&t=11&ab_channel=%E5%BE%AE%E7%B3%96%E9%80%A2')
elem = driver.find_elements_by_id('video-title')
while True:
if keyboard.is_pressed('`'):
driver.find_element_by_xpath('//*[@id="movie_player"]/div[29]/div[2]/div[1]/button'.click()
for x in elem:
elem.click()
keyboard.wait('f4)

因此,我尝试使用python在selenium中自动迭代一堆歌曲播放列表。我正在尝试制作代码,所以当我按下"时,视频将暂停,如果我按下f4,代码将跳到下一次迭代。f4函数运行得很好,但while循环中的代码却不正常。是因为当代码运行时,当它到达for循环时,它将不再访问while循环吗?如果你们有任何想法或想简化我的代码,请随时回答!

import pyautogui as py
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import keyboard
driver = webdriver.Chrome()
driver.get('https://www.youtube.com/watch?v=pcel9QTPx_g&list=RDpcel9QTPx_g&start_radio=1&t=11&ab_channel=%E5%BE%AE%E7%B3%96%E9%80%A2')
elem = driver.find_elements_by_id('video-title')
for x in elem:
x.click()
while True:
if keyboard.is_pressed('f12'):
driver.find_element_by_xpath('//*[@id="movie_player"]/div[29]/div[2]/div[1]/button').click()
keyboard.wait('f12')
driver.find_element_by_xpath('//*[@id="movie_player"]/div[29]/div[2]/div[1]/button').click()
if keyboard.is_pressed('f4'):
break
keyboard.wait('f4')

我还建议您使用另一个键,而不是f12,因为当您从chrome运行它时,它会中断您的代码,它会打开开发者模式!

最新更新