利用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列表去重的二种方法
Feb 14 Python
Python中的模块导入和读取键盘输入的方法
Oct 16 Python
Python实现约瑟夫环问题的方法
May 03 Python
浅析python中的分片与截断序列
Aug 09 Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 Python
关于python2 csv写入空白行的问题
Jun 22 Python
解决python "No module named pip" 的问题
Oct 13 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
python 实现二维字典的键值合并等函数
Dec 06 Python
使用Python防止SQL注入攻击的实现示例
May 21 Python
Python configparser模块常用方法解析
May 22 Python
Python加密技术之RSA加密解密的实现
Apr 08 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
合作指挥官:孟斯克
2020/03/16 星际争霸
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
vue登录注册实例详解
2019/09/14 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
Python3的socket使用方法详解
2020/02/18 Python
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
外贸业务员的岗位职责
2013/11/23 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
公共场所禁烟标语
2014/06/25 职场文书
干部作风建设工作总结
2014/10/29 职场文书
Python代码实现双链表
2022/05/25 Python