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()

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

  1. python中webdriver_浅谈python中selenium库调动webdriver驱动浏览器的实现原理

    最近学web自动化时用到selenium库,感觉很神奇,遂琢磨了一下,写了点心得. 当我们输入以下三行代码并执行时,会发现新打开了一个浏览器窗口并访问了百度首页,然而这是怎么做到的呢? 1 from ...

  2. 基于python中cv2库的图像分割

    一.概念 1.简述Radon变换检测直线的原理. Radon变换就是将数字图像矩阵在某一角度射线方向上做投影变换,按照投影方向累加像素. 2.简述基于区域生长的图像分割的原理. 根据同一物体区域内像素 ...

  3. python selenium脚本_怎样开始写第一个基于python的selenium脚本

    1.下载并安装python(http://www.python.org/geti/). 2.安装selenium(http://pypi.python.org/pypi/selenium)下载并解压缩 ...

  4. 基于python的selenium两种文件上传方式

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情 ...

  5. python中selenium的运用实例

    python中selenium应用实例 一个废物大学生的python笔记,共有三个实例:1.郑州某大学的打卡签到脚本2.某宝双十一的剁手脚本3.某省的答题脚本 #这几个脚本运行需要一点python基础 ...

  6. python中requests库的用途-数据爬虫(三):python中requests库使用方法详解

    有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...

  7. python 颜色_如何使用python中matplotlib库分析图像颜色

    用代码分析图像可能很困难.你如何使代码"理解"图像的上下文? 通常,使用AI分析图像的第一步 是找到主要颜色.在如何使用python中matplotlib库分析图像颜色中,我们将使 ...

  8. python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  9. Python中第三方库Requests库的高级用法详解

    Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...

最新文章

  1. 中科院自动化所余山:对大脑的未知,并不阻碍借鉴大脑,成就智能
  2. web性能优化——关键渲染路径(上)
  3. 【转载】拿来即用的企业级安全运维体系搭建指南
  4. 女生学计算机教学,女生学计算机专业好吗 计算机辅助数学教学之我见
  5. php exif信息,php通过exif_read_data函数获取图片的exif信息
  6. Testing Round #16 (Unrated) C. Skier(map的应用)
  7. python分割字符串输出_python字符串分割
  8. axios 超时_聊聊 Vue 中 axios 的封装
  9. linux下led灯驱动程序
  10. 计算机 统计学考研,关于统计学考研,知无不言
  11. 李宏毅机器学习Regression
  12. AT24CXX、DS1302、红外HS0038 20170610 周六
  13. 计算机主机三维模型,三维模型
  14. 最近越来越当心,是不是自己真的老了。。。
  15. 5个免费的AI智能抠图工具,一键去除图片背景!
  16. OmegaT-竞赛争论机协助翻译软件
  17. cdma 复制短息到uim卡的实现
  18. 常用传感器讲解五--声音传感器-(KY-037)
  19. python中import星_Python imports 指北
  20. xls/csv文件转换成dbf文件

热门文章

  1. 中国教育和科技计算机网网络中心,中国教育和科研计算机网网络中心通告
  2. 数字化转型背景下,MES系统如何做好生产管理
  3. 90后男生全款4万买房移居鹤岗
  4. 关于批处理以及批处理常用命令的总结
  5. Rosetta基础2:preparing ligand
  6. 黑莓的转型:如何成为一家网络安全公司?
  7. 点石互动--石头之用户搜索行为与关键词分析(二):用户也会犯错
  8. XML用户界面语言(XUL)开发入门(2)
  9. 格式工厂 wav 比特率_DRmare Audio Converter——音频格式转换工具
  10. php代码实现xml格式转换,PHP实现XML与数据格式进行转换类实例