Python
自动化
自动签到并发送微信消息
# -*- coding:utf-8 -*-
"""
打开网址并进行点击操作
"""
import time
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import SendWechat
def open_browser(name, phone, password):
try:
chromedriver = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver"
driver = webdriver.Chrome(chromedriver) # 模拟打开浏览器
# 窗口最大化
driver.maximize_window()
# 打开网址
driver.get('https://xxx.xxxxxxx.com/')
time.sleep(5) # 歇一下,等一下网页加载
# 选择产品页面,点击xxxx
driver.find_element_by_xpath('//*[@id="__layout"]/div/div/div/div/div[5]/div[1]/img').click()
time.sleep(5)
# 点击登录
driver.find_element_by_xpath('//*[@id="header-inner"]/div[3]/div/button[1]').click()
# 输入用户名和密码
driver.find_element_by_xpath('//*[@id="tellName"]').send_keys(phone)
driver.find_element_by_xpath('//*[@id="cloudInput"]/div[2]/input').send_keys(password)
# 点击同意 使用协议和权限
driver.find_element_by_xpath('//*[@id="cloudInput"]/div[3]/div/i').click()
# 点击登录
driver.find_element_by_xpath('//*[@id="app"]/div/div[1]/div[1]/div/div/div[1]/div/div[2]/button').click()
time.sleep(2)
# 弹窗处理
driver.find_element_by_xpath('/html/body/div[4]/p[2]/button').click()
time.sleep(2)
driver.find_element_by_xpath('//*[@id="__layout"]/div/div[3]/div[2]/a/div[3]/div/div[1]/div[1]/i').click()
# 点击签到
driver.find_element_by_xpath('//*[@id="__layout"]/div/div[3]/div[2]/div[2]').click()
time.sleep(2)
text = name + "已在xxxxx成功签到,"
except NoSuchElementException:
text = name + "未完成xxxxx的自动签到,请检查是否网络故障或其他原因!"
driver.quit()
return text
try:
# 点击链接
driver.find_element_by_xpath('//*[@id="__layout"]/div/div[3]/div[2]/div/div[2]/div/div[1]/div[4]').click()
# 切换窗口,获取的句柄下标从0开始,即第一个窗口为[0]、第二个窗口为[1]
driver.switch_to.window(driver.window_handles[1])
# 点击xxxx
driver.find_element_by_xpath('//*[@id="__layout"]/div/main/div/div/div/div[3]/'
'div[1]/div[1]/section[1]/div[1]/div[1]/div[1]/div').click()
time.sleep(10)
# 关闭xxxx
driver.find_element_by_xpath('//*[@id="__layout"]/div/main/div/div/div/div[3]/'
'div[1]/div[1]/section[1]/div[1]/div[3]/div/div[2]/span').click()
text += "并且成功参与抽奖!"
time.sleep(2)
driver.quit()
return text
except NoSuchElementException:
text += "但是参与抽奖失败!"
driver.quit()
return text
# # 关闭签到页面
# driver.find_element_by_xpath('//*[@id="__layout"]/div/div[3]/div[2]/div/div[2]/div/span[1]').click()
if __name__ == '__main__':
phone1 = '1xxxxxxxxxxx'
password1 = 'xxxxxxxxxx'xxxxx
text1 = open_browser('xx', phone1, password1)
# 将消息发送到微信
很感谢以下网址给的帮助
https://zhuanlan.zhihu.com/p/111132413
https://blog.csdn.net/qq_35519464/article/details/82505541
https://blog.csdn.net/qq_40107474/article/details/88765650
感悟:虽然借鉴的网址里面的代码已经很详细了,但是跟着走一遍还是会有自己的体悟,代码还是要实际去敲,只有自己敲出来的代码才会更加记忆深刻。加油,继续坚持~