介绍:

环境:chromedriver 2.41.578700+ selenuim3.14.0

过程:

  1.打开京东主页

  2.登录京东

  3.打开京东试用页面

  4.获取商品列表

  5.自动申请试用(该商品已经申请过则跳过)

  6.实现循环

程序详单:

#!/usr/bin/env python
# coding=utf-8
from selenium import webdriver
import os
import time
#-----------------登录京东--------------------------------
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.jd.com/')
driver.find_element_by_id("ttbar-login").click()#点击登录京东
time.sleep(1)
driver.find_element_by_xpath("//a[@clstag='pageclick|keycount|login_pc_201804112|10']").click()#点击通过账号登录
time.sleep(1)
driver.find_element_by_id('loginname').send_keys("############")#输入账户
driver.find_element_by_id('nloginpwd').send_keys("############")#输入密码
time.sleep(10)#这10秒钟内可以手动输入验证码(如果需要的话)
driver.find_element_by_id('loginsubmit').click()#点击登录
#--------------------------------------------------------- #------------------------打开京东试用-----------------------
time.sleep(2)
driver.get('https://try.jd.com/activity/getActivityList')
time.sleep(3)
for j in range(274):#遍历274页商品,可根据实际情况调整
items = driver.find_elements_by_class_name("link")#获取当前页面所有商品列表
length = len(items)
handle = driver.current_window_handle#获取当前页面标识
for i in range(length):#遍历每件商品
item = items[i]
item.click()#点击商品,进入申请页面
time.sleep(1)
#--------从商品列表页切换页面至申请页面---------------
handles = driver.window_handles
for newhandle in handles:
if newhandle!=handle:
driver.switch_to_window(newhandle)
time.sleep(2)
#-------------------------------------------------
try:#如果商品未申请,显示“申请试用”,try正常执行
driver.find_element_by_link_text('申请试用').click()
time.sleep(2)
driver.find_element_by_link_text('关注并申请').click()
time.sleep(1)
handle = driver.current_window_handle#获取当前页面标识
#--------从申请页面切换页面至商品列表页---------------
for newhandle in handles:
if newhandle!=handle:
driver.close()
driver.switch_to_window(newhandle)
except:#如果已经申请过,则无法找到“申请试用”,try无法正常执行,执行except
handle = driver.current_window_handle
for newhandle in handles:
if newhandle!=handle:
driver.close()
driver.switch_to_window(newhandle)
continue
driver.find_element_by_class_name('ui-pager-next').click()#点击下一页

第一天就中奖了:

python可视化爬虫实现“京东试用”批量申请的更多相关文章

  1. 利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

    前几天给大家分享了如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,感兴趣的小伙伴可以点击链接进行查看.今天小编给大家介绍如何利用Python网络爬虫抓取微信好友的省位和城市,并且将 ...

  2. Python之爬虫-京东商品

    Python之爬虫-京东商品 #!/usr/bin/env python # coding: utf-8 from selenium import webdriver from selenium.we ...

  3. 利用Python网络爬虫抓取微信好友的签名及其可视化展示

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

  4. Python 3爬虫、数据清洗与可视化实战PDF高清完整版免费下载|百度云盘

    百度云盘:Python 3爬虫.数据清洗与可视化实战PDF高清完整版免费下载 提取码: 内容简介 <Python 3爬虫.数据清洗与可视化实战>是一本通过实战教初学者学习采集数据.清洗和组 ...

  5. Python网络爬虫笔记(五):下载、分析京东P20销售数据

    (一)  分析网页 下载下面这个链接的销售数据 https://item.jd.com/6733026.html#comment 1.      翻页的时候,谷歌F12的Network页签可以看到下面 ...

  6. python多线程爬虫+批量下载斗图啦图片项目(关注、持续更新)

    python多线程爬虫项目() 爬取目标:斗图啦(起始url:http://www.doutula.com/photo/list/?page=1) 爬取内容:斗图啦全网图片 使用工具:requests ...

  7. Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)

    原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...

  8. 【Python】Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱

    本文转载自:https://www.cnblogs.com/colipso/p/4284510.html 好文 mark http://www.52nlp.cn/python-%E7%BD%91%E9 ...

  9. [Python] 网络爬虫和正则表达式学习总结

    以前在学校做科研都是直接利用网上共享的一些数据,就像我们经常说的dataset.beachmark等等.但是,对于实际的工业需求来说,爬取网络的数据是必须的并且是首要的.最近在国内一家互联网公司实习, ...

随机推荐

  1. 如何优化myeclipse.

    1.去除不需要加载的模块 一个系统20%的功能往往能够满足80%的需求,MyEclipse也不例外,我们在大多数时候只需要20%的系统功能,所以可以将一些不使用的 模块禁止 加载启动.通过Window ...

  2. sql一些语句性能及开销优化

    1.应用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数:通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担:能够分开的操作尽量分开处理,提高每次的响应速度:在数据窗口使用 ...

  3. win10 自己DIY的arp绑定小脚本

    @echo off&mode con cols=80 lines=22&title ARP_bind Tools setlocal enabledelayedexpansion rem ...

  4. JDK1.7 新特性

    1:switch中可以使用字串   String s = "test";   switch (s) {   case "test" :      System. ...

  5. LeetCode--053--最大子序和

    问题描述: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: ...

  6. android--------阿里 AndFix 热修复

    AndFix,全称是Android hot-fix.是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug. 支持Android 2.3 到 6.0,并且支持arm 与 X86 ...

  7. bzoj1202: [HNOI2005]狡猾的商人 floyd

    刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1,2,3...n-1,n), .当 Ai大于0时表示这个月盈 ...

  8. zzuli 1430 多少个0

    https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1430 1430: 多少个0 Time Limit: 1 Sec  Memory Limit: 12 ...

  9. SPFA单源最短路径算法

    我们用数组d记录每个结点的最短路径估计值,而且用邻接表来存储图G.我们采取的方法是动态逼近法:设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点u,并且用u点当前的最短路径估计值对离开 ...

  10. Win10取消密码