我正在尝试使用selenium创建一个Python3脚本,该脚本可以打开YouTube视频,然后跳过添加。我尝试使用这个:
self.driver.find_element_by_xpath('//*[@id="skip-button:8"]/span/button')
.click()
但它只会暂停视频,因为我认为鼠标需要在单击按钮之前悬停按钮。下面是将执行此操作的类:
class MusicPlayer():
def __init__(self):
self.driver = webdriver.Safari()
self.driver.get("https://www.youtube.com/watch?v=suia_i5dEZc")
sleep(10)
self.driver.find_element_by_xpath('//*[@id="skip-button:8"]/span/button')
.click()
sleep(260)
button = driver.find_element_by_class_name('ytp-ad-skip-button-container')
button.click()
是我想到的方式。
你必须使用WebDriverWait来等待元素,直到它可以点击。
driver = webdriver.Chrome()
driver.get("https://www.youtube.com/watch?v=suia_i5dEZc")
wait = WebDriverWait(driver, 20*60)
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[@id='skip-button:6']/span/button")))
element.click()