首页 文章

点击youtube按钮selenium python检查我的代码

提问于
浏览
0

我想在youtube上点击使用课程视频

在此页面https://likesrock.com使用此代码

from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("https://likesrock.com")

element = driver.find_element_by_class_name("ytp-large-play-button ytp-button")
element.click()

但是compilor给了我这个错误

Traceback(最近一次调用最后一次):文件“C:\ Users \ youssef \ Desktop \ python project \ xpath.py”,第25行,在element = driver.find_element_by_class_name(“ytp-large-play-button ytp-button”) )文件“C:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py”,第413行,在find_element_by_class_name中返回self.find_element(by = By.CLASS_NAME,value = name)文件“C:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py“,第752行,在find_element'value':value})['value']文件”C:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py“,第236行,执行self.error_handler.check_response(响应)文件”C:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py“,第192行, in check_response raise exception_class(message,screen,stacktrace)NoSuchElementException:消息:无法找到元素:.ytp-large-play-button ytp-button

请帮忙

1 回答

  • 0

    您正在使用 find_element_by_class_name 中的复合类,这将无效 . 将其更改为 find_element_by_xpath 并尝试

    driver.find_element_by_xpath("//*[@class='ytp-large-play-button ytp-button']")
    

    注意: - 您的元素在 iFrame 下,所以不要忘记切换 iframe

    driver.switch_to.frame(0)
    

    完整代码:

    driver = webdriver.Firefox()
    driver.get("https://likesrock.com")
    driver.implicitly_wait(20) 
    driver.switch_to.frame(0) 
    element = driver.find_element_by_xpath("//button[@class='ytp-large-play-button ytp-button']")
    element.click()
    

相关问题