拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 Python-如何使用用户输入进行登录信息提示

Python-如何使用用户输入进行登录信息提示

白鹭 - 2022-03-15 1980 0 0

我对 Python 有点陌生,并试图制作一个脚本,让你自动登录 Instagram。但是,我对仅将其放入您的代码的解决方案不满意,我想在运行脚本时询问凭据,然后在 Instagram 登录页面上使用它。这是我到目前为止得到的代码:

from time import sleep
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from  random import randint


username = input("Enter your username: ")
password = input("Enter your password: ")


driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://www.instagram.com/')

sleep (2)
driver.execute_script("""
   var l = document.getElementsByClassName("pbNvD    FrS-d sjcY5    gD9tr")[0];
   l.parentNode.removeChild(l);
""")

driver.execute_script("""
   var l = document.getElementsByClassName("RnEpo  Yx5HN      _4Yzd2")[0];
   l.parentNode.removeChild(l);
""")


sleep (1)
username = driver.find_element_by_name('username')
username.send_keys('username')
password = driver.find_element_by_name('password')
password.send_keys('password')


button_login = driver.find_element_by_css_selector('#loginForm > div > div:nth-child(3) > button')
button_login.click()
sleep(randint(3,5))

notnow = driver.find_element_by_css_selector('#react-root > section > main > div > div > div > div > button')
notnow.click()
sleep(randint(3,5))
notificationnotnow = driver.find_element_by_xpath('/html/body/div[4]/div/div/div/div[3]/button[2]')
notificationnotnow.click()

提前致谢!

uj5u.com热心网友回复:

Why do you pass a string ("username" and "password") name instead of (username and password)

from time import sleep
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from  random import randint


username = input("Enter your username: ")
password = input("Enter your password: ")


driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://www.instagram.com/')


sleep (5)
username_input = driver.find_element_by_name('username')
username_input.send_keys(username)
password_input = driver.find_element_by_name('password')
password_input.send_keys(password)


button_login = driver.find_element_by_css_selector('#loginForm > div > div:nth-child(3) > button')
button_login.click()
sleep(randint(3,5))

notnow = driver.find_element_by_css_selector('#react-root > section > main > div > div > div > div > button')
notnow.click()
sleep(randint(3,5))
notificationnotnow = driver.find_element_by_xpath('/html/body/div[4]/div/div/div/div[3]/button[2]')
notificationnotnow.click()

uj5u.com热心网友回复:

问题就在这里

sleep (1)
username = driver.find_element_by_name('username')
username.send_keys('username')
password = driver.find_element_by_name('password')
password.send_keys('password')

您正在传递“用户名”和“密码”这两个词,而不是传递变量username, password当您将它们放在引号内时,它们将变为字符串。

您应该尝试以下方法:

sleep (1)
username = driver.find_element_by_name('username')
username.send_keys(username)
password = driver.find_element_by_name('password')
password.send_keys(password)
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *