hello,大家好,我是wangzirui32,今天我们来学习如何使用selenium自动登录CSDN。
1. 登录页面分析
首先我们打开登录页面,开始分析:
我们要点击“账号密码登录”进行登录,它的HTML源码为:
然后,我们来分析登录的用户名框和密码框:
分析完了,我们开始编写代码。
2.开始编写
这里我把登录代码封装成一个函数,以便其它程序调用(不懂的看注释):
def csdn_login(driver, username, password):
# 访问登录页面
driver.get('https://passport.csdn.net/login?code=public')
# 查询内容为“账号密码登录”的标签对象
login_link = driver.find_element_by_link_text("账号密码登录")
# 然后点击
login_link.click()
# 用户名框 查询id为all的标签
login_username = driver.find_element_by_id("all")
# 密码框 查询id为password-number的标签
login_password = driver.find_element_by_id("password-number")
# 输入用户名
login_username.send_keys(username)
# 输入密码
login_password.send_keys(password)
# 登录按钮 获取class为btn btn-primary的button标签
button = driver.find_element_by_xpath("//button[@class='btn btn-primary']")
# 点击按钮 登录成功
button.click()
if __name__ == "__main__":
# 开始测试
from selenium.webdriver import Firefox
# 把executable_path设置为你电脑内浏览器驱动的位置目录
driver = Firefox(executable_path='geckodriver.exe')
# 调用
csdn_login(driver, "你的用户名", "你的密码")
运行代码,就可以实现CSDN自动登录了!
今天的课程就到这里,感兴趣的可以收藏点赞,拜拜!