利用python Selenium实现自动登陆京东签到领金币功能


Posted in Python onOctober 31, 2019

如何自动登陆京东?

我们先来看一下京东的登陆页面,如下图所示:

【插入图片,登陆页面】

利用python Selenium实现自动登陆京东签到领金币功能

登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个、密码的形式登陆,就要切换一下。

我们看一下这两种登陆方式是如何切换的,通过浏览器的元素检查,我们看一下两个标签。

【插入图片,两种登陆方式】

利用python Selenium实现自动登陆京东签到领金币功能

扫码登陆和用户登陆分别在一个div标签里面,我们可以通过css选择器选定用户登陆,使其下面的a标签的class为checked,接下来的一切就比较简单了。

我们要获取到用户名输入框、密码输入框以及登陆按钮即可。

【插入图片,用户登陆框】

利用python Selenium实现自动登陆京东签到领金币功能

下面看一下实现的代码,假设我们通过FireFox浏览器模拟登陆吧。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import time
login_url='https://passport.jd.com/uc/login'
uid='********'
pwd='********'
browser=webdriver.Firefox()
wait=WebDriverWait(browser, 10)
def login():
  try:
    browser.get(login_url)
    login_tab_u=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.login-tab:nth-child(3)")))
    login_tab_u.click()#这里我们没有获取那个a标签,而是直接获取外层的div标签,比较简单而且方便
    uid_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#loginname")))
    pwd_input=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#nloginpwd")))
    login_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#loginsubmit")))
    uid_input.send_keys(uid)
    pwd_input.send_keys(pwd)
    login_button.click()
  except TimeoutException:
    login()
def main():
  login()
  time.sleep(5)
  browser.close()
if __name__=='__main__':
  main()

如何自动签到领金币?

领金币一定要登陆vip页面才可以。

vip页面的url='https://vip.jd.com/home.html‘

但是要登陆vip页面的话,还是会跳转到第一步的那个登陆页面,我们利用第一步的方法登陆即可。

【插入图片,签到页面】

利用python Selenium实现自动登陆京东签到领金币功能

签到的链接在右侧,我们获取到这个链接点击就行了。

【插入图片,签到链接】

利用python Selenium实现自动登陆京东签到领金币功能

这个标签很简单。

vip_url='https://vip.jd.com/home.html'
def user_singin():
  try:
    browser.get(vip_url)
    login_tab_u=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.login-tab:nth-child(3)")))
    login_tab_u.click()
    uid_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#loginname")))
    pwd_input=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#nloginpwd")))
    login_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#loginsubmit")))
    uid_input.send_keys(uid)
    pwd_input.send_keys(pwd)
    login_button.click()
    sign_in_button=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#signIn")))
    sign_in_button.click()
    print('您已签到成功!')
  except TimeoutException:
    user_singin()

前面的代码跟上面是一样的,只不过要获取到签到的标签。

这种登陆方式基本上可以用于任何网站,只不过做一些修改就可以了。

总结

以上所述是小编给大家介绍的利用python Selenium实现自动登陆京东签到领金币功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python删除文件示例分享
Jan 28 Python
python中List的sort方法指南
Sep 01 Python
centos 下面安装python2.7 +pip +mysqld
Nov 18 Python
python3实现暴力穷举博客园密码
Jun 19 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
Python下载网络小说实例代码
Feb 03 Python
几种实用的pythonic语法实例代码
Feb 24 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
python和shell监控linux服务器的详细代码
Jun 22 Python
python使用Matplotlib画饼图
Sep 25 Python
python判断文件是否存在,不存在就创建一个的实例
Feb 18 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
python+Django实现防止SQL注入的办法
Oct 31 #Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 #Python
基于Python+Appium实现京东双十一自动领金币功能
Oct 31 #Python
如何关掉pycharm中的python console(图解)
Oct 31 #Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 #Python
python实现根据文件格式分类
Oct 31 #Python
Python简易计算器制作方法代码详解
Oct 31 #Python
You might like
php实现的RSS生成类实例
2015/04/23 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
JQuery CheckBox(复选框)操作方法汇总
2015/04/15 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
韩语专业本科生求职信
2013/10/01 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
先进个人总结范文
2015/02/15 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书