使用Gitee自动化部署python脚本的详细过程
作者:孤桜懶契 发布时间:2022-03-30 07:04:55
标签:Gitee,自动部署,python
一、前期准备
1.1 安装环境
1、安装python3
2、打开命令行安装selenium
pip install selenium
二、python代码
2.1 源码
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
# 模拟浏览器打开到gitee登录界面
driver = webdriver.Chrome()
driver.get('https://gitee.com/login')
# 将窗口最大化
driver.maximize_window()
time.sleep(2)
# 输入账号--通过html的id属性定位输入位置--改为你的账号
user_login = driver.find_element_by_id('user_login')
user_login.send_keys("此处改为你的账号")
# 输入密码--通过html的id属性定位输入位置--改为你的密码
driver.find_element_by_id('user_password').send_keys("此处改为你的密码")
# 点击登录按钮--通过xpath确定点击位置
driver.find_element_by_xpath(
'/html/body/div[2]/div[2]/div[1]/div/div[2]/div/form[1]/div[2]/div/div/div[4]/input').click()
time.sleep(2)
# 切换到gitee pages界面--改为you_gitee_id
driver.get('https://gitee.com/此处改为you_gitee_id/此处改为you_gitee_id/pages')
# 点击更新按钮--通过xpath确定点击位置
driver.find_element_by_xpath('/html/body/div[3]/div[2]/div/div[2]/div[1]/form/div[7]').click()
# 确认更新提示框--这个函数的作用是确认提示框
Alert(driver).accept()
# 等待5秒更新
time.sleep(5)
# 这个print其实没事什么用,如果真的要测试脚本是否运行成功,可以用try来抛出异常
print("成功")
# 脚本运行成功,退出浏览器
driver.quit()
# 写上更新日志
# 我这里是写在D盘,可以改为自己喜欢的目录
fp = open("D:\log.txt", "a+")
now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
fp.write("auto update time:{0}\n".format(now_time))
fp.close()
2.2 注意事项
xpath可以通过在chrom的网页里面按F12来查看
演示过程
需要将chromeDrive可执行驱动丢到你python根目录(跟python.exe放在一起)
下载地址
http://chromedriver.storage.googleapis.com/index.html
来源:https://www.cnblogs.com/GYLQ/p/14816533.html
0
投稿
猜你喜欢
- 从Python3.2引入的concurrent.futures模块,Python2.5以上需要在pypi中安装futures包。future
- 之前写了Python实现登录接口的示例代码,最近需要回顾,就顺便发到随笔上了要求:1.输入用户名和密码2.认证成功,显示欢迎信息3.用户名3
- 在看本篇文章前我们需要了解阻塞的概念在执行过程中暂停,以等待某个条件的触发 ,我们就称之为阻塞在Go中我们make一个channel有两种方
- 使用穷举法求两个数的最大公约数for m in range (0,2): a = int(input("
- 本文介绍了django反向解析URL和URL命名空间,分享给大家,具体如下:首先明确几个概念:1.在html页面上的内容特别是向用户展示的u
- 安装配置MongoDB驱动安装驱动go get -u github.com/mongodb/mongo-go-driver初始化模块go m
- 方法一:mylist = [1,2,2,2,2,3,3,3,4,4,4,4]myset = set(mylist)for item in m
- 只能是一些限定的东西运行代码框ENTER键可以让光标移到下一个输入框 <input onkeydown="if(event.
- 本文实例讲述了Python设计模式之建造者模式。分享给大家供大家参考,具体如下:建造者模式(Builder Pattern):将一个复杂对象
- 1、$_SERVER$_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境的有关信息。根据服务器不
- 主要使用json模块,直接导入import json即可。小例子如下:#coding=UTF-8 import json info={} i
- 前言在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Py
- 本文实例讲述了微信小程序实现动态获取元素宽高的方法。分享给大家供大家参考,具体如下:我以前一直以为微信小程序不能动态获取view元素的宽高。
- 前言order by满足两种情况,会使用 index 方式排序:order by语句使用索引最左前列(最左匹配法则)where子句和orde
- 一、前言今天要介绍的 click 则是用一种你很熟知的方式来玩转命令行。命令行程序本质上是定义参数和处理参数,而处理参数的逻辑一定是与所定义
- PHP bin2hex() 函数实例把 "Hello World!" 转换为十六进制值:<?php $str =
- 好了,废话少说,我们先看看几个示例吧一、打开一个网页获取所有的内容from urllib import urlopendoc = urlop
- 前言计算机系统中有很多独占性的资源,在同一时刻只能每个资源只能由一个进程使用,我们之前经常提到过打印机,这就是一个独占性的资源,同一时刻不能
- 核心技术:Python3.7GUI技术:Tkinter (Python已经内置)好多文章写Python GUI之tkinter窗口视窗教程大
- python ThreadPoolExecutor线程池的工作线程中出现异常时,主线程不会捕获异常。解决方法1:直接在需要执行的任务方法中添