Python+selenium实现自动循环扔QQ邮箱漂流瓶

yipeiwu_com6年前Python基础

本文实例为大家分享了Python自动循环扔QQ邮箱漂流瓶的具体代码,供大家参考,具体内容如下

Python代码如下:

# coding=utf-8
from selenium import webdriver
from time import sleep
from random import randint

def auto_throw():
 """扔瓶子"""
 driver = webdriver.Chrome()
 driver.get("https://mail.qq.com")
 sleep(2)
 # 切换iframe表单
 driver.switch_to.frame("login_frame")
 driver.find_element_by_xpath('//*[@id="u"]').send_keys("1226206257")
 driver.find_element_by_xpath('//*[@id="p"]').send_keys("cb19939393")
 driver.find_element_by_xpath('//*[@id="login_button"]').click()
 # 将表单切回到最外层
 driver.switch_to.default_content()
 sleep(2)
 i = 0
 m = 0
 # 循环扔瓶子
 while True:
 try:
  driver.find_element_by_xpath('//*[@id="folder_11"]/b[1]').click() # 漂流瓶
  sleep(1)
  # 切换iframe表单
  driver.switch_to.frame("mainFrame")
  sleep(1)
  driver.find_element_by_xpath('//*[@id="toolbar"]/div/a[1]').click() # 扔一个
  sleep(1)
  driver.find_element_by_xpath('//*[@id="bottle_magic"]/div/div[1]/a[1]/span').click() # 普通瓶
  sleep(1)
  driver.find_element_by_xpath('//*[@id="bottle_send"]/div[2]/div[1]/div[4]/div[2]/div[1]/textarea').send_keys("陌生人,
            你的幸运数字是%d!"%randint(1,10000))
  sleep(2)
  driver.find_element_by_xpath('//*[@id="bottle_send"]/div[2]/div[2]/div[3]/a[2]').click() # 扔出去
  # 将表单切回到最外层
  driver.switch_to.default_content()
  m += 1
  print("第%d个瓶子成功扔出!"%m)
  sleep(2)
 except:
  print("扔瓶子失败或者扔瓶子机会用完了!")
  i += 1
  if i > 10:
  print("扔瓶子机会用完了!")
  break


if __name__ == '__main__':
 auto_throw()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中使用dom模块生成XML文件示例

在Python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文件,下一篇文章再继续介绍Dom解析XML文件。 在生成XML...

python输入错误后删除的方法

python输入错误怎么删除? python常用的输入函数raw_input()在输入的过程中如果输错了,不能像在命令行下那样backspace取消已输入的字符,还得重新再输入。 怎么才...

跟老齐学Python之集合(set)

回顾一下已经了解的数据类型:int/str/bool/list/dict/tuple 还真的不少了. 不过,python是一个发展的语言,没准以后还出别的呢.看官可能有疑问了,出了这么多...

Python中面向对象你应该知道的一下知识

0x00 is与== ==运算符是比较两个对象的内容是否相等,默认情况是调用对象的__eq__方法进行比较;而is是比较两个对象是否一样,它比较的两个对象的id,即它们的内存地址是否相...

Python中的迭代器与生成器高级用法解析

迭代器 迭代器是依附于迭代协议的对象——基本意味它有一个next方法(method),当调用时,返回序列中的下一个项目。当无项目可返回时,引发(raise)StopIteration异常...