python自动填写腾讯文档_腾讯文档自动填充工具(工具),填写
平臺:
chrome,QQ
說明:
班委會提供一個騰訊文檔鏈接,把找到自己的部分,把今天的體溫填寫完成。
所用庫:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from lxml import etree
import tkinter as tk
import requests
import random
import pyautogui
import pyperclip
import re
import os
import time
from PIL import Image
任務分解:
1.登錄騰訊文檔頁面
2.準確找到學號位置
3.填寫數據
4.生成exe
代碼:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from lxml import etree
import tkinter as tk
import requests
import random
import pyautogui
import pyperclip
import re
import os
import time
from PIL import Image
##https://docs.qq.com/sheet/DS0VCUG9NeUhLWHNY?tab=BB08J2
url = ""
selenium_path = "C:\Users\XC\AppData\Local\Google\Chrome\Application\chromedriver.exe" #chromedriver.exe位置
sid=[]
def sele():
browser = webdriver.Chrome(selenium_path)
browser.maximize_window()
return browser
def response(browser):
# 登錄模塊,賬號密碼輸入,點擊
print(url)
browser.get(url)
vis = 0
# 登錄嘗試
denglu(browser)
time.sleep(4)
print(browser.title)
#browser.find_element_by_xpath('//body/header/div/div/div/div/div/div/div/div/div/div/div/div[@class="toolbar-menu-button-more toolbar-inline-block"]').click()
for i in sid:#填寫數據
time.sleep(1)
browser.find_element_by_id('sheet-search-button').click()
time.sleep(1)
browser.find_element_by_xpath('//body/div/div/div/div/div/input[@class="dui-input-input dui-input-input-default"]').send_keys(i)
time.sleep(1)
browser.find_element_by_xpath('//body/div/div/div/div/div//div[@class="dui-button-container"]').click()
time.sleep(1)
pyautogui.typewrite('\t',interval=0.25)
pyautogui.typewrite('\t',interval=0.25)
pyautogui.typewrite('\t',interval=0.25)
pyautogui.typewrite('\t',interval=0.25)
pyautogui.typewrite('\t',interval=0.25)
time.sleep(1)
for i in range(1,4):
tomorrow=['36.2','36.3','36.4','36.5','36.6','36.7','36.8']
a=random.choice(tomorrow)
pyautogui.typewrite(a,interval=0.25)
pyautogui.typewrite('\t',interval=0.25)
pyperclip.copy('無')
pyautogui.hotkey('ctrl','v',interval=0.25)
pyautogui.typewrite('\t')
time.sleep(2)
browser.quit()
def denglu(browser):#登錄模塊
time.sleep(5)
browser.find_element_by_id('header-login-btn').click()
time.sleep(3)
browser.switch_to.frame('login_frame')
time.sleep(3)
browser.find_element_by_id('img_out_1071949367').click()
return True
def window():#窗口模塊
window = tk.Tk()
window.title('robot_print')
window.geometry('1000x500')
l = tk.Label(window, text='!Show Time!', bg='green', font=('Arial', 12), width=30, height=2)
# 說明: bg為背景,font為字體,width為長,height為高,這里的長和高是字符的長和高,比如height=2,就是標簽有2個字符這么高
# 第5步,放置標簽
l.pack()
var_usr_name = tk.StringVar()
tk.Label(window, text='Url:',font=('Arial', 14)).place(x=325, y=100)
tk.Entry(window, textvariable=var_usr_name, font=('Arial', 14)).place(x=375,y=100)
var_usr_id = tk.StringVar()
tk.Label(window, text='ID:',font=('Arial', 14)).place(x=325, y=150)
tk.Entry(window, textvariable=var_usr_id, font=('Arial', 14)).place(x=375,y=150)
def hit_me():
global url
url = var_usr_name.get()
global sid
sid = var_usr_id.get().split(' ')
print(sid)
browser = sele()
response(browser)
b = tk.Button(window, text='確定', font=('Arial', 12), width=10, height=1, command=hit_me).place(x=450,y=225)
window.mainloop()
if __name__ == '__main__':
window()
轉EXE:
缺陷:
1.對chromedriver.exe位置有限制
2.必須登錄QQ才能使用
總結:
實測好用,一個人可以填一個宿舍的,如果加上多線程,可以快速填一個班的。有建議歡迎表達。
QQ:1071949367,交個朋友!
總結
以上是生活随笔為你收集整理的python自动填写腾讯文档_腾讯文档自动填充工具(工具),填写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IPguard服务器无法启动排查
- 下一篇: wonderware配置-DAServe