如何通过python+Chrome实现自动申请某东试用
2018-10-29 本文已影响0人
雷园LY
如何通过python+Chrome实现自动申请某东试用
在这里小小推荐下我的个人博客
csdn:雷园的csdn博客
个人博客:雷园的个人博客
简书:雷园的简书
注意*
本人python小白刚刚入门,大神们多多指导,这个小脚本也是有个小问题就是在刚启动后进行登陆时需要手动点击验证,预留了八秒的时间进行验证,展示手速的时候到啦。
环境
1.首先你需要有python,ide强烈推荐使用pycharm,因为非常好用。
2.你需要安装seleium库。教程连接
3.你需要下载chromedriver。附上下载链接
4.当然,如果你使用pycharm的话跳转我的另一篇博客:pycharm环境配置
代码实现
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.action_chains import ActionChains
driver=webdriver.Chrome()
driver.get("https://try.m.jd.com/activities?cid1=0&state=0&ran=1540783336157")
#间隔三秒后进入我的试用进行登录
time.sleep(3)
login=driver.find_element_by_xpath("/html/body/ul/li[3]/a")
ActionChains(driver).click(login).perform()
time.sleep(2)
username=driver.find_element_by_id("username")
password=driver.find_element_by_id("password")
username.send_keys("your_username")
password.send_keys("your_password")
time.sleep(1)
btn=driver.find_element_by_id("loginBtn")
ActionChains(driver).click(btn).perform()
time.sleep(8)
start=driver.find_element_by_xpath("/html/body/ul/li[2]/a")
ActionChains(driver).click(start).perform()
#此处应该有循环
for i in range(12,10000):
time.sleep(2)
str1 = str(i)
#点击商品
goods=driver.find_element_by_xpath("/html/body/div[3]/div[3]/div[1]/ul/li["+str1+"]")
if(goods is not None):
ActionChains(driver).click(goods).perform()
time.sleep(2)
#获取商品申请按钮的名称
shen=driver.find_element_by_xpath("/html/body/ul/li[2]/a")
ActionChains(driver).click(shen).perform()
time.sleep(1)
#纯靠运气
q=driver.find_element_by_xpath("/html/body/div[3]/div[2]/div[2]/div[2]/a[2]")
if(q is not None):
ActionChains(driver).click(q).perform()
time.sleep(1)
#后退
driver.back()
if(i%12==0):
js="var q=document.documentElement.scrollTop=100000"
driver.execute_script(js)
time.sleep(3)
最后
最后嘛~右键运行就可以啦!如果你是windows。配置好环境变量之后win+r输入cmd进入dos输入正确的.py文件的路径运行脚本就可以啦。记得把chromedriver.exe和.py文件放到同一目录下。
如果使用pycharm的话如下图👇点击run '你的文件名'就可以啦
pycharm运行方法