如何在python 3中使用Selenium单击youtube中的'skip ads'按钮



我正在尝试使用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()

相关内容

  • 没有找到相关文章

最新更新