利用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 相关文章推荐
Django 生成登陆验证码代码分享
Dec 12 Python
Request的中断和ErrorHandler实例解析
Feb 12 Python
CentOS7安装Python3的教程详解
Apr 10 Python
python安装numpy和pandas的方法步骤
May 27 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
python print 格式化输出,动态指定长度的实现
Apr 12 Python
基于Python脚本实现邮件报警功能
May 20 Python
MxNet预训练模型到Pytorch模型的转换方式
May 25 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
Python将字典转换为XML的方法
Aug 01 Python
Python的property属性详细讲解
Apr 11 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
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
javascript 拖动表格行实现代码
2011/05/05 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
js对象的复制继承实例
2015/01/10 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
js实现简单的二级联动效果
2017/03/09 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
Vue实现简易计算器
2020/02/25 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
浅谈五大Python Web框架
2017/03/20 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
Python画图高斯分布的示例
2019/07/10 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
免费获得微软MCSD证书赶快行动吧!
2012/11/13 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
服装厂厂长职责
2013/12/16 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
房屋转让协议书范本
2014/04/11 职场文书
出国留学计划书
2014/04/27 职场文书
2014年度思想工作总结
2014/11/27 职场文书
停发工资证明范本
2015/06/12 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript