selenium实现高校班级打卡-石墨文档每日一报自动化
selenium-WEB自动化工具
-
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,
8, 9, 10, 11),Mozilla Firefox,Safari,Google
Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成
.Net、Java、Perl等不同语言的测试脚本。 -
本文采用python+selenium实现高校每日打卡-石墨文档在线编辑
-
基本思路:通过模拟鼠标点击指定坐标位置,确定单元格位置,实现编辑自动化
-
代码比较粗糙,供学习交流
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : sn018.py
# @Author: shuaigeek
# @Date : 2020/5/6
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
def Double_click(browser,x,y):
ActionChains(browser).move_by_offset(x,y).double_click().perform()
def inputdata():
Double_click(browser, 200, 400) #200表示单元格到浏览器左边的距离,400表示单元格到浏览器顶部的距离
inputbox = browser.find_element_by_css_selector('#sm-sheet-fx-editor')
inputbox.send_keys(Keys.BACK_SPACE)
inputbox.send_keys('\n单元格内容\n')
time.sleep(1)
Double_click(browser, 100, 0) #100表示鼠标横向移动距离,0表示鼠标纵向移动距离
inputbox = browser.find_element_by_css_selector('#sm-sheet-fx-editor')
inputbox.send_keys(Keys.BACK_SPACE)
inputbox.send_keys('\n单元格内容\n')
time.sleep(1)
Double_click(browser, 100, 0)#100表示鼠标横向移动距离,0表示鼠标纵向移动距离
inputbox = browser.find_element_by_css_selector('#sm-sheet-fx-editor')
inputbox.send_keys(Keys.BACK_SPACE)
inputbox.send_keys('\n单元格内容\n')
time.sleep(1)
Double_click(browser, 100, 0)#100表示鼠标横向移动距离,0表示鼠标纵向移动距离
inputbox = browser.find_element_by_css_selector('#sm-sheet-fx-editor')
inputbox.send_keys(Keys.BACK_SPACE)
inputbox.send_keys('\n单元格内容\n')
time.sleep(1)
Double_click(browser, 100, 0)#100表示鼠标横向移动距离,0表示鼠标纵向移动距离
inputbox = browser.find_element_by_css_selector('#sm-sheet-fx-editor')
inputbox.send_keys(Keys.BACK_SPACE)
inputbox.send_keys('\n单元格内容\n')
if __name__ == '__main__':
browser = webdriver.Firefox()
browser.implicitly_wait(5)
browser.get('石墨文档地址')#这里写石墨文档地址
inputdata()
print('打卡完成')