selinum 自动登录QQ空间发表说说
# -*- coding: utf-8 -*-
"""
====================================
@File Name :demo1.py
@Time : 2023/2/8 14:46
@Program IDE :PyCharm
@Create by Author : 一一吴俊峰
@Motto:"The trick, William Potter, is not minding that it hurts."
====================================
"""
# 导入selenium中的webdriver工具
from selenium import webdriver
# 相当于鼠标键盘操作导入的模块
import time, win32api, win32con
# 导入一个操作键盘和鼠标的包
from pynput.keyboard import Controller, Key
from lxml import etree
def loginQQ(usr, pwd):
driver = webdriver.Chrome(executable_path=r'C:\Program Files\Google\Chrome\Application\chromedriver.exe')
driver.get('http://qzone.qq.com')
# 切到登陆模块
driver.switch_to.frame('login_frame')
driver.find_element_by_id('switcher_plogin').click()
driver.find_element_by_id('u').clear()
driver.find_element_by_id('u').send_keys(usr)
driver.find_element_by_id('p').clear()
driver.find_element_by_id('p').send_keys(pwd)
driver.find_element_by_id('login_button').click()
# 浏览器跳转
time.sleep(3)
driver.switch_to.default_content()
page = etree.HTML(driver.page_source)
nick = page.xpath('//*[@id="headContainer"]/div[2]/div/span[1]')
if len(nick) > 0:
print('[INFO]: %s Login Successfully...' % usr)
else:
print('[Error]: Fail to login %s in <cookie.py - _GetNewCookie func>...' % usr)
driver.quit()
return driver
def publish(driver,message = "自动化测试,请勿关注"):
driver.maximize_window()
print("登录成功")
# 定位'说说'输入框,加载全部网页,我需要2s,这个看个人硬件.
time.sleep(2)
driver.find_element_by_id("$1_substitutor_content").click()
print("定位输入框成功")
# 输入说说内容
#time.sleep(5)
# #Controller是pynput封装的方法
keyboard = Controller()
# 记录时间,下面要用(可省略)
now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
# 输入的内容
keyboard.type(message + now)
# 模拟人为点击
# ctrl键位码是17
win32api.keybd_event(17, 0, 0, 0)
# enter键位码是13
win32api.keybd_event(13, 0, 0, 0)
# 按下Ctrl+Enter发送信息
win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
print("发送说说成功")
if __name__ == "__main__":
# message = input("请输入要发表的说说:")
# if len(message) > 1:
# driver = loginQQ("1028540310","XXX")
# time.sleep(5)
# publish(driver,message)
driver = loginQQ("1028540310", "XXX")
time.sleep(5)
publish(driver)
龙卷风之殇

浙公网安备 33010602011771号