Заполните имя пользователя и пароль, используя selenium в python
Как я могу автоматически заполнить имя пользователя и пароль по ссылке ниже:
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')
После этого я действительно не знаю:
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")
Ответы
Ответ 1
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()
Примечания к вашему коду:
Ответ 2
Используйте метод WebElement.send_keys
для имитации ввода текста.
name
в коде (Username
, Password
) не соответствует фактическому name
элементов (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()
Ответ 3
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()
Замечания:
- мы используем
user.clear()
для очистки поля ввода. - для поиска кнопки отправки вы можете использовать любой другой метод, основанный на исходном коде страницы. для информации см. расположение элементов