介绍:

环境: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. 关于new和delete

    #include<stdlib.h> #include<iostream> using namespace std; int main(){ int *p=new int; / ...

  2. 【Golang 接口自动化05】使用yml管理自动化用例

    我们在前面几篇文章中学习怎么发送数据请求,怎么处理解析接口返回的结果,接下来我们一起来学习怎么进行测试用例管理,今天我们介绍的是使用yml文件进行用例管理,所以首先我们一起来了解一下YAML和它的简单 ...

  3. jdk1.8

    Jdk1.8新特性 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们将学习这些新特性, ...

  4. 554C - Kyoya and Colored Balls

    554C - Kyoya and Colored Balls 思路:组合数,用乘法逆元求. 代码: #include<bits/stdc++.h> using namespace std; ...

  5. Hololens 开发环境配置(转)

    转自 Vangos Pterneas, 4 Apr 2016 CPOL 5.00 (1 vote) vote 1vote 2vote 3vote 4vote 5 The past few days h ...

  6. office每次打开都要重新配置

    office每次打开都要重新配置     1● 找到路径 C:\Program Files\Common Files\microsoft shared\OFFICE14\Office Setup Co ...

  7. JdbcTemplate.queryForObject

    } catch (EmptyResultDataAccessException e) { log.info(">>>检测到有无记录>>>>" ...

  8. POJ 3264 RMQ水题

    题目大意就是有很多牛.告诉你每只牛的高度.然后有很多个询问.输出该区间内的最大身高差.也就是用RMQ求最大值最小值.貌似还可以用线段树.然而,我还不会线段树.....T_T 可能是太多组数据了.cin ...

  9. Prism5.0开发人员指南内容 Contents of the Developer's Guide to Prism Library 5.0 for WPF(英汉对照版)

    The Prism for WPF guide contains the following topics: Prism指南包含以下内容: Download and Setup Prism 下载并安装 ...

  10. Java——线程间通信

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...