Domanda accesso automatico con selenium su chrome.

wide neck

Utente Iron
20 Maggio 2019
8
6
0
17
Ultima modifica da un moderatore:
sto imparando selenium in python e volevo provare ad accedere automaticamente al sito di nike.
funziona tutto fino a quando arrivo a dover compilare la mia email e non so perchè ma non viene scritto niente. Incollo qui sotto il codice, se qualcuno sa cosa ho sbagliato me lo dica per favore.

Python:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.get("[URL]https://www.nike.com/it/launch?s=upcoming[/URL]")
link = driver.find_element_by_xpath('//*[@id="root"]/div/div/div[1]/div/header/div[1]/section/div/ul/li[1]/button')
link.click()

try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID,"b22a9e77-8e0e-4452-8a53-527220702923"))
    )

    element.send_keys("[EMAIL][email protected][/EMAIL]")

except:
    driver.quit()
 
Ultima modifica da un moderatore:
In base alle mie misere conoscenze l'ho fatto così:
Python:
from selenium import webdriver
import time

def ok():
    PATH = "C:\Program Files (x86)\chromedriver.exe"
    driver = webdriver.Chrome(PATH)
    driver.get("https://www.nike.com/it/launch?s=upcoming")

    #Entra/Accedi
    driver.find_element_by_xpath('/html/body/div[2]/div/div/div[1]/div/header/div[1]/section/div/ul/li[1]/button').click()
    #Attendi 3 sec
    time.sleep(3)

    #email
    driver.find_element_by_xpath('/html/body/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/div/div/div/div/div/div[2]/form/div[2]/input').send_keys('[email protected]')
    #password
    driver.find_element_by_xpath('/html/body/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/div/div/div/div/div/div[2]/form/div[3]/input').send_keys('password')
    time.sleep(1)

    #tasto ACCEDI
    driver.find_element_by_xpath('/html/body/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/div/div/div/div/div/div[2]/form/div[6]/input').click()


if __name__ == '__main__':
    ok()

Per quanto riguarda l'errore mi sembra che l'id del campo email sia diverso:
HTML:
<input id="473ed77b-83a6-4b19-a449-170fbea4add8" type="email" placeholder="Indirizzo e-mail" value="" name="emailAddress" data-componentname="emailAddress" autocomplete="email" autocorrect="off" autocapitalize="off" spellcheck="false">