Как отправить текст в поле Email с помощью Selenium и Python

1

Изображение 174551

Привет, попробовал что-то вроде того, что он работал до

driver.find_element_by_xpath("//*[@id="loginForm"]/div/div[1]/input").send_keys("[email protected]")

но теперь он дает ошибку

Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@class="inputs"]//input[@name="email"]"}
Теги:
xpath
selenium
selenium-webdriver
css-selectors

2 ответа

2
Лучший ответ

Вы можете попробовать с именем:

driver.find_element_by_name("email").send_keys("[email protected]")  

если вы хотите ввести webDriverWait:

wait = WebDriverWait(driver,10)

wait.until(EC.element_to_be_clickable((By.NAME, 'email'))).send_keys("[email protected]")  

Обратите внимание, что вам придется импортировать эти:

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

Update1:

Вы находитесь в iframe, вам придется переключить фокус вашего веб-драйвера на контент по умолчанию, а затем вы можете взаимодействовать с ним:

driver.switch_to.default_content()

wait.until(EC.element_to_be_clickable((By.NAME, 'email'))).send_keys("[email protected]")
  • 0
    Спасибо, но получаю TimeoutException
  • 0
    Ну, вы обрабатываете всплывающую рекламу?
Показать ещё 7 комментариев
1

Чтобы отправить последовательность символов в поле " Электронная почта", вам необходимо вызвать WebDriverWait для того, чтобы желаемый элемент был доступен для кликов, и вы можете использовать любое из следующих решений:

  • CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='email']"))).send_keys("[email protected]")
    
  • XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@name='email']"))).send_keys("[email protected]")
    

Примечание. Необходимо добавить следующие импорты:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
  • 0
    Привет, Debanjan. Я получаю исключение по тайм-ауту, поскольку я вхожу в систему после передачи всплывающего окна с рекламой, как вы ответили здесь stackoverflow.com/questions/51590374/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню