@anya_hacker

Как заполнить форму с помощью Selenium?

Пытаюсь на сайте bosch.kofemashini.com в поле ввода телефона ввести номер с помощью selenium.
Вижу, что селениум выбирает поле, но почему-то не вводит. При этом поле подсвечивается красным.
Почему не получается ввести телефон?
from seleniumwire import webdriver
from time import sleep
from random import choice

phones = ['4951553668', '4950818500', '4954298904']

driver = webdriver.Chrome(
    executable_path='chromedriver.exe'
)

url = 'http://bosch.kofemashini.com/'
driver.get(url)

element = driver.find_element_by_class_name('form-control')
element.send_keys(f"{choice(phones)}")

# btn = driver.find_element_by_css_selector('.btn btn-block btn-danger')
# btn.click()
sleep(15)


6058fc26425ff085244712.png
  • Вопрос задан
  • 2414 просмотров
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Это:
element = driver.find_element_by_class_name('form-control')
element.send_keys(f"{choice(phones)}")

замените на это:
element = driver.find_element_by_tag_name('input')
element.click()
element.send_keys(choice(phones))

PS: можно искать элемент и по имени класса, но я ищу по имени тега.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@RealLazyCat
гик и троль
сначала дождитесь, чтобы элемент был готов к взаимодействию.(хотя бы sleep(5000))
потом клик по нему.
потом send_keys().
Ответ написан
solotony
@solotony
покоряю пик Балмера
читайте про ожидания
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы