Тарас, а как вы тогда поступил бы в таком случае?
Можно более развернутый ответ получить по поводу вашего комментария к моему коду?
Возможно можно импортировать нужный класс или библиотеку.
З.ы: с той же проблемой я сталкиваюсь в google когда хочу зарегистрироваться. Не находит элемент.
Элемент не находит, потому что его “нет”, для начала можно попробовать неявные ожидания (implicitly_wait).
Раз уж юзается селениум - то и действовать надо “как пользователь”, то бишь кликать по ссылке, а не ретьорн слать
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.mail.ru")
driver.implicitly_wait(5)
elem=driver.find_element_by_id("PH_regLink")
elem.click()
elem=driver.find_element_by_xpath("//div[contains(@class,'firstname')]//input")
elem.send_keys("Misha")
elem.send_keys(Keys.RETURN)
Этот вариант подходит всегда, если элемент “когда-нибудь” появится на странице.
Другой вопрос - подходит ли такой “общий шаблон ожидания” под потребности проекта, если нет - используется по-элементная декомпозиция и явные ожидания конкретного элемента
Возможно не успевает подгрузиться за 5 сек, тут хз, надо смотреть более глубоко, что происходит при фейле.
Я как раз проверял свой код на вин10 - все ок