基于python中selenium库,实现百度账号的自动登陆 您所在的位置:网站首页 手机上怎么注册百度账号和密码 基于python中selenium库,实现百度账号的自动登陆

基于python中selenium库,实现百度账号的自动登陆

2024-07-07 13:06| 来源: 网络整理| 查看: 265

1.如何实现自动打开百度网页并登录账号

首先使用chrome浏览器自动打开百度页面,然后寻找到登陆按键的节点元素,并实现点击。接着,找到用户名登陆的节点元素,实现扫码登陆到用户名登陆的切换。然后,找到用户名一栏的节点元素,自动输入用户名,找到密码一栏的节点元素,自动输入密码,找到登陆button的节点元素,自动按下按键。下面一布是针对需要进行短信验证的情况,此时会弹出短信验证窗口,找到发送短信的节点元素,并实现点击,手动填入接受到的验证码,并找到登陆button的节点元素,点击。成功登陆账号后,在搜索框输入指定内容,实现搜索。

1.1.使用chromedriver打开百度网页

使用chromedriver时需要填写存储路径,这是和其他驱动器不同的地方,代码如下:

driver=webdriver.Chrome("C:/Users/Administrator/AppData/Local/Google/Chrome/Application/chromedriver.exe") url=("http://www.baidu.com/") driver.get(url) 1.2.爬取登录节点并实现点击,扫码登陆与用户名登陆的切换

在实现这个功能后,必须调用sleep函数,实现对代码的暂停,否则将无法实现后面代码的操作,代码如下:

login=driver.find_element_by_name("tj_login") driver.execute_script("arguments[0].click();", login) time.sleep(3)#必不可少 login_means=driver.find_element_by_id("TANGRAM__PSP_11__footerULoginBtn") driver.execute_script("arguments[0].click();", login_means)

当没有time.sleep函数时,就会出现只执行上面的login,并且运行报错说找不到id(“TANGRAM__PSP_11__footerULoginBtn”)节点。具体原因是,在上面点击完成后,网页页面会发生变化,执行下面的代码时,是以变化后的页面为基础的,sleep函数相当于给了页面改变的缓冲时间,如果网速或者电脑比较卡的可以适当增加sleep时间,使得确保执行下面代码的时候是在新的网页的基础上实现的。

1.3.用户名,密码的输入

这里需要先找到相应节点,在输入自己设置的用户名以及密码前,都需要使用clear()函数来对输入框进行数据清楚,也可以不用,但使用可以防止手误输入一些空格和不必要的字符。代码段如下:

user=driver.find_element_by_name("userName") user.clear() user.send_keys("输入用户名") time.sleep(2) pwd=driver.find_element_by_name("password") pwd.clear() pwd.send_keys("输入密码") time.sleep(2) enter=driver.find_element_by_id("TANGRAM__PSP_11__submit") driver.execute_script("arguments[0].click();", enter) time.sleep(10)

最后的time.sleep(10)是为了防止出现输入验证码的情况,预留的输入验证码的时间,可以根据个人的手速改变时间。

1.4.当第一次登陆时,自动对手机发送验证码,填写验证码并确认

第一次,或者在陌生设备登录时,会需要给手机发送验证码,代码段如下:

test=driver.find_element_by_id("TANGRAM__29__button_send_mobile") driver.execute_script("arguments[0].click();", test) time.sleep(10) enter_final=driver.find_element_by_id("TANGRAM__29__button_submit") driver.execute_script("arguments[0].click();", enter_final) time.sleep(20) 1.5.登陆账号后自动搜索内容

成功登录账号,并且自动搜索内容代码段:

text=driver.find_element_by_name("wd") text.send_keys("poorlytechnology") text.send_keys(Keys.RETURN) 2.完整代码 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time driver=webdriver.Chrome("C:/Users/Administrator/AppData/Local/Google/Chrome/Application/chromedriver.exe") url=("http://www.baidu.com/") driver.get(url) login=driver.find_element_by_name("tj_login") driver.execute_script("arguments[0].click();", login) time.sleep(3)#必不可少 login_means=driver.find_element_by_id("TANGRAM__PSP_11__footerULoginBtn") driver.execute_script("arguments[0].click();", login_means) user=driver.find_element_by_name("userName") user.clear() user.send_keys("输入用户名") time.sleep(2) pwd=driver.find_element_by_name("password") pwd.clear() pwd.send_keys("输入密码") time.sleep(2) enter=driver.find_element_by_id("TANGRAM__PSP_11__submit") driver.execute_script("arguments[0].click();", enter) time.sleep(10)#当要输入验证码时,暂停10s,以便输入验证码 # test=driver.find_element_by_id("TANGRAM__29__button_send_mobile") # driver.execute_script("arguments[0].click();", test) # time.sleep(10) # enter_final=driver.find_element_by_id("TANGRAM__29__button_submit") # driver.execute_script("arguments[0].click();", enter_final) # time.sleep(20) text=driver.find_element_by_name("wd") text.send_keys("poorlytechnology") text.send_keys(Keys.RETURN) time.sleep(30) driver.close() driver.quit()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有