, так как я обновил свой 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
, по-прежнему не решает проблему.
Не используйте 'неявное wait', как это не работает, как ожидалось, используйте' явный wait' вместо HTTP: //selenium-python.readthedocs. io/waits.html # explicit-waits – Andersson
Просто, чтобы убедиться, что я тестировал его в Selenium 2 и Chrome и могу подтвердить, что скрипт в порядке, и целевой элемент существует. – Bouke
@ Эндерссон, да, вы правы! как только я переключусь на явное ожидание как результат из 'alecxe', проблема будет решена. – user6651227