Как стирать символы в поле ввода при использовании Selenium
Как удалить символы в поле, куда мне нужно запихнуть свою информацию. К примеру. Открываем окно, с которого нужно отправить отчет на @mail, но при окрытии окна в поле mail уже прописан адрес другой почты например [email protected], а роботу нужно стереть её и вписать туда [email protected] как это реализовать подскажите.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import StaleElementReferenceException
import time
driver = webdriver.Firefox()
driver.get("https://*********.ru")
driver.maximize_window()
mail = driver.find_element(By.XPATH, 'path')
mail.send_keys("mail2@mail")
Ответы (2 шт):
Автор решения: Beneviento
→ Ссылка
Получилось вот таким образом:
for i in range(0, 19):
driver.find_element(By.XPATH,
'/html/body/div[1]/div[3]/div[4]/div/div[2]/form/div[2]
/div[2]/div[2]/input').send_keys(Keys.BACKSPACE)
Автор решения: Smoke Story
→ Ссылка
У меня (Keys.BACKSPACE) не сработал когда в поле было больше 1 символа.
Поэтому я применил такой вариант:
from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
driver.find_element(By.XPATH, "...").send_keys(Keys.CONTROL+"a", Keys.DELETE)
В данном примере CONTROL+"a" выделяет всё что в поле,
ну а Keys.DELETE всё это удаляет.
Работает отлично, без нареканий.