time.sleep(10)
button = driver.find_element_by_xpath('//button[@data-test-id="button"])[2]')
print('нашли кнопку')
button.click()
print('кликнули по кнопке')
time.sleep(10)
input = driver.find_element_by_xpath('//div[contains(@class, "qa-NameField")]//input')
print('нашли поле ввода')
input.send_keys('нашел')
print('отправили текст в поле ввода')
# Реализуем функции с ожиданием по умолчанию
def my_find(locator, timeout=1, retry=20) -> WebElement:
for i in range(retry):
try:
return WebDriverWait(driver, timeout).until(EC.element_to_be_clickable(locator))
except Exception:
if i == retry - 1:
return driver.find_element(*locator)
def my_click(locator, timeout=1, retry=20):
for i in range(retry):
try:
element = my_find(locator, timeout=timeout)
element.click()
return
except Exception:
if i == retry - 1:
pass
def my_send_keys(locator, keys, timeout=1, retry=20):
elem = my_find(locator, timeout=timeout, retry=retry)
elem.clear()
elem.send_keys(keys)
#Перепишем скрипт с этими функциями
button_locator = (By.XPATH, '//button[@data-test-id="button"])[2]')
my_click(button_locator)
input_locator = (By.XPATH, '//div[contains(@class, "qa-NameField")]//input')
my_send_keys(input_locator, 'нашел')
Ниже пример работающего кода с вашими локаторами