使用selenuim模拟动态登录百度

要使用selenuim模拟动态动态登录百度,我们的电脑要下载webdriver自动Microsoft Edge,大家可以下载Chromedriver或是Edgdriver。我这里使用的是Edg。

1.首先就是要找到网页,并获取到

driver = webdriver.Edge()
driver.get("https://www.baidu.com/?tn=44004473_21_oem_dg")

2.利用find_element的各种方法可以找到登录按钮的位置,我这里使用的find_element_by_xpath()的方法,当然也可以用其他的方法获取

#找到百度页面的登录并点击
login = driver.find_element_by_xpath('//a[@id="s-top-loginbtn"]').click()
time.sleep(5) #等待时间,让页面加载出来

3.进入到登录页面了之后一样通过xpath方法找到用户名框和密码框,并使用send_keys()方法输入自己的账号和密码,点击登录按钮

#找到用户名,密码输入框
username = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__userName"]')
password = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__password"]')

#输入密码和账号
username.send_keys('你的账号')
password.send_keys('你的登录密码')
time.sleep(2)

#找到登录按钮
submit = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]')#点击登录
submit.click()
time.sleep(2)

4.百度登录的时候会检测自动化工具登录,出现一个图形验证,我这里用的就是最简便的方法,先把图形验证框给叉掉,再点击一次登录按钮,这样就可以跳过验证了

#跳过图形验证
try:
    test = driver.find_element_by_xpath('//*[@class="vcode-close"]').click()#跳过图形验证
    time.sleep(2)
    submit.click()
    time.sleep(2)
except :
    print('目标不存在')

5.在最后我们要记得关闭浏览器和driver,不然会很占内存

#关闭浏览器和程序
driver.quit()
driver.close()

下面就是完整的代码:

from selenium import  webdriver
import time

driver = webdriver.Edge() 
driver.get("https://www.baidu.com/?tn=44004473_21_oem_dg")

#找到百度页面的登录并点击
login = driver.find_element_by_xpath('//a[@id="s-top-loginbtn"]').click()
time.sleep(5) #等待时间,让页面加载出来

#找到用户名,密码输入框
username = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__userName"]')
password = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__password"]')

#输入密码和账号
username.send_keys('你的账号')
password.send_keys('你的登录密码')
time.sleep(2)

#找到登录按钮
submit = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]')#点击登录
submit.click()
time.sleep(2)
#跳过图形验证
try:
    test = driver.find_element_by_xpath('//*[@class="vcode-close"]').click()#跳过图形验证
    time.sleep(2)
    submit.click()
    time.sleep(2)
except :
    print('目标不存在')

#关闭浏览器和程序
driver.quit()
driver.close()

  上面就是使用selenium模拟动态登录百度的全部过程。


版权声明:本文为user__s原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。