一、任务实现
1.获取驱动
#根据自己的驱动放的位置进行设置
driver_path = "C:\Program Files\Google\Chrome\Application\chromedriver.exe"
wd = webdriver.Chrome(executable_path=driver_path)
2.点击“登录”
# 点击百度首页登录连接
wd.find_element_by_link_text("登录").click()
3.输入用户名和密码
# 输入用户名和密码
wd.find_element_by_id("TANGRAM__PSP_11__userName").send_keys("用户名")
wd.find_element_by_id("TANGRAM__PSP_11__password").send_keys("密码")
4.勾选“阅读并接受百度用户协议”
#点击同意并接受协议
wd.find_element_by_id("TANGRAM__PSP_11__isAgree").click()
5.点击登录
# 点击登录按钮
wd.find_element_by_id("TANGRAM__PSP_11__submit").click()
二、完整代码
from selenium import webdriver
import time
from lxml import etree
driver_path = "C:\Program Files\Google\Chrome\Application\chromedriver.exe"
wd = webdriver.Chrome(executable_path=driver_path)
wd.get("http://www.baidu.com") # 点击首页
time.sleep(3)
# 点击百度首页登录连接
wd.find_element_by_link_text("登录").click()
time.sleep(3)
# 输入用户名和密码
wd.find_element_by_id("TANGRAM__PSP_11__userName").send_keys("用户名")
wd.find_element_by_id("TANGRAM__PSP_11__password").send_keys("密码")
#点击同意并接受协议
wd.find_element_by_id("TANGRAM__PSP_11__isAgree").click()
# 点击登录按钮
wd.find_element_by_id("TANGRAM__PSP_11__submit").click()
time.sleep(10)
wd.find_element_by_link_text("用户名").click()
time.sleep(2)
# 获取个人中心页面html
print(wd.page_source)
wd.close()
三、不足之处
点击登录后,页面出现旋转图形的验证,以手动方式旋转之后又出现发送短信验证码,需输入验证码才可以登录,想必是百度登录设计安全性较高的原因,因此目前我只能完成到“点击登录”这一步。