Comment puis-je remplir automatiquement le nom d'utilisateur et le mot de passe via le lien ci-dessous:
from Selenium import webdriver
from Selenium.webdriver.common.keys import Keys
chromedriver = 'C:\\chromedriver.exe'
browser = webdriver.Chrome(chromedriver)
browser.get('http://www.example.com')
Après cela, je ne sais vraiment pas:
username = Select(browser.find_element_by_name('Username'))
password = Select(browser.find_element_by_name('Password'))
username.select_by_visible_text("text")
password.select_by_visible_text("text")
driver = webdriver.Firefox(...) # Or Chrome(), or Ie(), or Opera()
username = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")
username.send_keys("YourUsername")
password.send_keys("Pa55Word")
driver.find_element_by_name("submit").click()
Notes à votre code:
find_element_by_name('Username')
: Username
en majuscule ne correspond à rien.Select()
est utilisé pour agir sur un élément de sélection ( https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select )Utilisation WebElement.send_keys
méthode pour simuler la saisie au clavier.
name
dans le code (Username
, Password
) ne correspond pas à la valeur réelle name
des éléments (username
, password
).
username = browser.find_element_by_name('username')
username.send_keys('user1')
password = browser.find_element_by_name('password')
password.send_keys('secret')
form = browser.find_element_by_id('loginForm')
form.submit()
# OR browser.find_element_by_id('submit').click()
user = driver.find_element_by_name("username")
password = driver.find_element_by_name("password")
user.clear()
user.send_keys("your_user_name")
password.clear()
password.send_keys("your_password")
driver.find_element_by_name("submit").click()
Remarque:
user.clear()
afin d'effacer le champ de saisie.