介绍:

环境: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. 重新拾取的jquery

    最新JQ API学习地址:http://www.css88.com/jqapi-1.9/error/

  2. cocos2dx 3.13 simulator的问题

    下载新的cocos2dx 3.13,想使用simulator来运行lua项目,结果发现使用vs2013编译不通过. 1. 9>main.cpp(5): error C2146: 语法错误: 缺少 ...

  3. FastJson之JsonObject, JsonString, JavaBean,List快速转换

    // 将json字符串转换为json对象 JSONObject jsonObject = JSON.parseObject(jsonStr); // {"retState":&qu ...

  4. 一套C#语言的日志控制系统

    using System; public delegate void LogHandle(Object log); public class PlayerHandle { public static ...

  5. poj1651 Multiplication Puzzle

    比较特别的区间dp.小的区间转移大的区间时,也要枚举断点.不过和普通的区间dp比,断点有特殊意义.表示断点是区间最后取走的点.而且一个区间表示两端都不取走时中间取走的最小花费. #include &l ...

  6. Liebig's Barrels CodeForces - 985C (贪心)

    链接 大意:给定$nk$块木板, 要制作$n$个$k$块板的桶, 要求任意两桶容积差不超过$l$, 每个桶的容积为最短木板长, 输出$n$个桶的最大容积和 假设最短板长$m$, 显然最后桶的体积都在$ ...

  7. 『Os』常用方法记录

    os.rename(name_old, name_new) 『Scrapy』爬取斗鱼主播头像 重命名函数os.rename比win下的重命名强多了,它可以对路径重命名达到修改文件位置的功效. os.p ...

  8. mysql语句查询时间检测

    explain的使用 1.首先我们是要登入你的mysql的,然后选择数据库输入:use 你要选择的库名 2执行语句 eg:  explain SELECT * FROM wish_orders1412 ...

  9. django - html

    1.注释 单行注释: {#  #} 多行注释: {%comment%} {%endcomment%} 2.访问元组 不用t[0],要用t.0. 例: {% for t in text %} {{t.0 ...

  10. IOS8-人机界面指南

    [ISUX转译]iOS 8人机界面指南(一):UI设计基础 糖箔糊2014.09.23 文章索引 1.1 为iOS而设计(Designing for iOS) 1.1.1 以内容为核心(Defer t ...