Comment remplir le champ Adresse e-mail dans https://www.nike.com/register en utilisant Selenium et Python
J'essaie d'utiliser du sélénium pour remplir le formulaire d'inscription sur le site de nike ici :https://www.nike.com/registermais il ne peut pas trouver les éléments en utilisant le xpath ou l'id.
Voici ce que j'ai essayé jusqu'à présent :
chrome_options = Options()
chrome_options.add_argument("--incognito")
chrome_options.add_argument("start-maximized")
driver=webdriver.Chrome('/Users/cameron/Desktop/untitled folder/chromedriver')
driver.get('https://www.nike.com/gb/membership')
main_window = driver.current_window_handle
driver.find_element_by_xpath('//*[@id="69dcecd3-722e-42c0-aa82-358c4160ae8d"]/div/div/div[2]/a').click()
WebDriverWait(driver, 5)
driver.find_element_by_xpath('/html/body/div[2]/div[3]/div[4]/form/div[1]/input').click()
cela fonctionne bien lors de la navigation sur le site Web mais il ne trouve pas les éléments lors de la tentative de remplissage du formulaire d'inscription
Réponses
Pour envoyer une séquence de caractères dans le champ Adresse e -mail , vous devez induire WebDriverWait for the element_to_be_clickable()et vous pouvez utiliser l'une des stratégies de localisation suivantes :
Utilisation
CSS_SELECTOR:driver.get('https://www.nike.com/gb/membership') WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[aria-label='Join Us'][href='https://www.nike.com/register']"))).click() WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='emailAddress']"))).send_keys("[email protected]")Utilisation
XPATH:driver.get('https://www.chegg.com/auth?action=login&redirect=https%3A%2F%2Fwww.chegg.com%2F') WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@aria-label='Join Us' and @href='https://www.nike.com/register']"))).click() WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@name='emailAddress']"))).send_keys("[email protected]")Remarque : Vous devez ajouter les importations suivantes :
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as ECInstantané du navigateur :