我试图点击使用类在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()
但是编译器给我这个错误
Traceback (most recent call last): File "C:\Users\youssef\Desktop\python project\xpath.py", line 25, in element = driver.find_element_by_class_name("ytp-large-play-button ytp-button") File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 413, in find_element_by_class_name return self.find_element(by=By.CLASS_NAME, value=name) File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element 'value': value})['value'] File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute self.error_handler.check_response(response) File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: Unable to locate element: .ytp-large-play-button ytp-button
请帮忙
最佳答案
您正在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()
关于python - 单击youtube按钮 Selenium python检查我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42607714/