2017-03-05 98 views
0

我试图单击使用类点击YouTube上使用此代码点击YouTube的按钮硒蟒蛇检查我的代码

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给我这个erorr vadio

在此页面https://likesrock.com

回溯(最近一次调用最后一次): 文件“C:\ Users \ youssef \ Desktop \ python project \ xpath.py”,第25行,在 element = driver.find_ele ment_by_class_name(“ytp-large-play-button ytp-button”) find_element_by_class_name中的第413行文件“C:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py” return 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行,在check_response 引发exception_class(消息,屏幕,堆栈跟踪) NoSuchElementException:消息:Unable to loca热电元件:.ytp大型播放按钮YTP-按钮

+0

参见[这里] (http://stackoverflow.com/q/10658907/7023590)。 – MarianD

回答

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() 
+0

非常感谢您的帮助,我不会忘记它只是我添加time.sleep(5),它的工作原理 – jozef