2016-10-31 6 views
0

, так как я обновил свой firefox до 49.02 и selenium до 3.0.1, мой предыдущий код для входа в мой bing account не работает.python selenium, чтобы щелкнуть ссылку

есть Sign in звено в www.bing.com, я мог успешно нажать на эту ссылку, позвонив:

driver.get("http://www.bing.com") 
driver.implicitly_wait(20) 
driver.find_element_by_link_text('Sign in').click() 

Однако, после обновления, я получаю сообщение странное ошибке, которое не содержит никаких сообщений на все:

selenium.common.exceptions.ElementNotVisibleException: Message: 

если я только позвоню driver.find_element_by_link_text('Sign in'), не принимаю сообщение об ошибке. Кажется, что selenium может успешно найти эту ссылку, но каким-то образом она не может нажать эту кнопку.

Я также попытался найти Sign in от него class name или щелкнув значок вместо этого, но все такие усилия бесполезны.

Я не знаю, вызвана ли ошибка Microsoft блокировкой автоматического входа в систему или ошибкой в ​​моем коде. Помогает оценить!

, вызывающий driver.find_element_by_xpath('//a[span = "Sign in"]').click(), как предложено alecxe, по-прежнему не решает проблему.

+0

Не используйте 'неявное wait', как это не работает, как ожидалось, используйте' явный wait' вместо HTTP: //selenium-python.readthedocs. io/waits.html # explicit-waits – Andersson

+0

Просто, чтобы убедиться, что я тестировал его в Selenium 2 и Chrome и могу подтвердить, что скрипт в порядке, и целевой элемент существует. – Bouke

+0

@ Эндерссон, да, вы правы! как только я переключусь на явное ожидание как результат из 'alecxe', проблема будет решена. – user6651227

ответ

2

Wait для ссылки быть интерактивными:

from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 

wait = WebDriverWait(driver, 10) 
sign_in = wait.until(EC.element_to_be_clickable((By.LINK_TEXT, "Sign in"))) 
sign_in.click() 
+1

Спасибо за ваш ответ, но я получаю точно такое же сообщение об ошибке – user6651227

+0

@ user6651227 в порядке, пожалуйста, проверьте обновление. Благодарю. – alecxe

+0

это работает! спасибо большое – user6651227

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