2016-11-22 6 views
0

Я пытаюсь выполнить это действие с помощью кода ниже. Он должен перейти на https://www.google.co.jp/ и нажать на ссылку YouTube в боковом меню.Python Selenium - получение ошибки «ElementNotVisibleException» при попытке щелкнуть по ссылке

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

Нет проблем с языком. То, что вы написали, было уже понятно. Я немного улучшил его и вначале устранил извинения, когда грамматика в порядке. Удачи! – Bobby

ответ

0

Вам нужно ждать элемента, чтобы быть интерактивными, используя element_to_be_clickable:

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

Если это не работает, я бы рекомендовал проверить, что вы используете правильный селектор или увеличиваете время ожидания.

Смежные вопросы