Python Selenium - 尝试单击链接时出现“ElementNotVisibleException”错误

时间:2016-11-22 18:55:02

标签: python selenium firefox

我正在尝试使用下面的代码执行此操作。它应该转到https://www.google.co.jp/,然后点击侧边菜单上的YouTube链接。

import time
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

binary = FirefoxBinary('C:\Program Files (x86)\Mozilla Firefox\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
google=driver.get("https://www.google.co.jp/")
youtube=WebDriverWait(driver,300)
.until(EC.presence_of_element_located
((By.XPATH,".//*[@id='tsf']/div[2]    /div[3]/center/input[2]")))
youtube.click()

它返回此错误:

[[ElementNotVisibleException]] ERROR

1 个答案:

答案 0 :(得分:0)

您需要等待元素可点击,使用element_to_be_clickable

.until( EC.element_to_be_clickable((By.XPATH, ".//*[@id='tsf']/div[2]    /div[3]/center/input[2]")) );

如果这不起作用,我会建议验证您使用了正确的选择器,或增加等待时间。