Wie kann ich den Benutzernamen und das Passwort automatisch über den folgenden Link eingeben:
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')
Danach weiß ich wirklich nicht:
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")
Verwenden Sie die
WebElement.send_keys
Methode, um die Tasteneingabe zu simulieren.name
im Code (Username
,Password
) stimmt nicht mit dem tatsächlichenname
der Elemente (username
,password
) überein .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()
quelle
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()
Hinweis:
user.clear()
, um das Eingabefeld zu löschen.quelle
In einigen Fällen, in denen das Element nicht interaktiv ist,
sendKeys()
funktioniert es nicht und es ist wahrscheinlich, dass Sie auf ein Element stoßenElementNotInteractableException
.In solchen Fällen können Sie Javascript ausführen, das die Werte festlegt, und dann zurückschicken.
Beispiel:
url = 'https://www.your_url.com/' driver = Chrome(executable_path="./chromedriver") driver.get(url) username = 'your_username' password = 'your_password' #Setting the value of email input field driver.execute_script(f'var element = document.getElementById("email"); element.value = "{username}";') #Setting the value of password input field driver.execute_script(f'var element = document.getElementById("password"); element.value = "{password}";') #Submitting the form or click the login button also driver.execute_script(f'document.getElementsByClassName("login_form")[0].submit();') print(driver.page_source)
Referenz:
https://www.quora.com/How-do-I-resolve-the-ElementNotInteractableException-in-Selenium-WebDriver
quelle
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.webdriver.support.ui import WebDriverWait # If you want to open Chrome driver = webdriver.Chrome() # If you want to open Firefox driver = webdriver.Firefox() username = driver.find_element_by_id("username") password = driver.find_element_by_id("password") username.send_keys("YourUsername") password.send_keys("YourPassword") driver.find_element_by_id("submit_btn").click()
quelle