Python自动部署码云:

1:大概思路:

其实还是打开浏览器登录,只不过不用你自己再一步一步登录部署干啥。python代替你完成了这个过程。我用的谷歌浏览器,谷歌真香,用的人都说爽。

2:下载chromedriver.exe文件:

首先打开你的谷歌浏览器。直接在地址栏输入:chrome://settings/help.这样会出来和你浏览器相对应的版本。如下图所示:

我的浏览器版本是81.0.4044.9.我下载的版本只要是http://81.0.4044.xxx就可以。下载文件的链接是:http://chromedriver.storage.googleapis.com/index.html。 下载完文件后把这个exe文件当到谷歌浏览器的路径下:我的路径为:E:ChromeApplication。同时还要把这个文件放到你电脑上python的安装根目录下。

3:开始编写程序:

这里我们用到的是python的以下这些库:

from selenium import webdriver
from selenium.webdriver.common.alert import Alert

selenium是一个自动化测试工具,支持Firefox,Chrome等众多浏览器.

在爬虫中的应用主要是用来解决JS渲染的问题。

1.使用前需要安装这个第三方库,CMD下:

pip install selenium

安装完这个库就可以开始写代码了。

1:模拟浏览器来到码云的登录界面,代码如下:

# 模拟浏览器打开到gitee登录界面
driver = webdriver.Chrome()
driver.get('https://gitee.com/login')
# 将窗口最大化
driver.maximize_window()
time.sleep(2)

这时候我们打开这个界面后需要输入账号和密码登录。

这时候我们会有一个疑惑,如何定位输入账号的地方的和输入密码的地方,这时候我们需要一点html的知识。就是如何让python定位到账号和密码的输入框。这个时候我们就可以谷歌浏览器的开发者工具来分析:

html输入框坑定是放在一个div里的。而且通过Id号很方便,来确定的可以从id号去确认。~~我的html学的很垃圾。可能有些专业术语表达不清楚。~~

这里我们鼠标定位到输入框,右键,点击检查。

然后就会发现出现以下:

获得密码输入框的id也是和上面一样。我们得到了就可以用库里面的函数来定位到这个位置并且把你的账号和密码自动填入。代码如下:

# 输入账号--通过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来确定的。获取xpath也有一个快捷的方法。

依旧按上面的方法选中这一块,右键选择检查,定位到这一块的html代码。然后右键这一块。选择copy full xpath.

如下图所示:

得到了xpath,接着写代码:

# 点击登录按钮--通过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)

Python方便的地方就是有相应的库函数。这里也是。

登陆完后,我们需要来到部署静态网页的页面:一般情况下,这个页面的URL链接为:'https://gitee.com/xxxxx/xxxxx/pages'

这时候我们从登录后的界面跳转到以上的URL链接界面。之后写程序点击部署那个按钮。代码如下:

# 切换到gitee pages界面--改为you_gitee_id
driver.get('https://gitee.com/你项目的个人地址/项目名称/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
print("成功")# 脚本运行成功,退出浏览器
driver.quit()fp = open("F: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()

这样就完成想象中的自动部署把。当然氪金一年99块钱也是能自动推送后部署的,但是贫穷限制了我的想象力。只有出此下策。哈哈哈。

html 打开页面光标自动选中输入框_Python自动部署码云:相关推荐

  1. 当鼠标滑过文本框自动选中输入框内容JS代码

    代码: <html> <head> <title>响应鼠标自动选中文本框内容</title> </head> <body> &l ...

  2. python手机端自动点赞软件_python自动点赞功能的实现思路

    python自动点赞功能的实现思路 发布时间:2020-10-26 10:40:04 来源:脚本之家 阅读:92 1.思路 通过pyautogui可以实现鼠标点击.滚动鼠标.截屏等操作.由此功能实现打 ...

  3. python 自动登录网站_python自动登录网页脚本

    import urllib import cookielib def renrenBrower(url,user,password): #登陆页面,可以通过抓包工具分析获得,如fiddler,wire ...

  4. html 打开页面光标自动选中输入框_初识selenium之web自动化

    今天我们学习下如何使用python编写web自动化,谈到web自动化,那么我们需要了解下市面上做web自动化的几种方式,Robotframework工具,网红WebUI自动化测试神器 - Cypres ...

  5. python自动输入文字_Python自动输入【新手必学】

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:哈喽哈嘿哈 这篇文章是我的第一篇文章,写的不好的地方,请大家多多指教哈,另 ...

  6. python 在软件自己自动输入器_Python自动操作GUI神器PyAutoGUI

    本文共3500余字,预计阅读时间12分钟,本文知乎连接:Python自动操作GUI神器PyAutoGUI,本文同步发布于silaoA的博客和微信公众号平台. 关注学习了解更多的Cygwin.Linux ...

  7. python自动轨迹绘制_Python——自动轨迹绘制

    需求:根据脚本来绘制图形 不是写代码而是写数据来绘制轨迹 数据脚本是自动化最重要的第一步 基本思路: 步骤1:定义数据文件格式(接口) 步骤2:编写程序,根据文件接口解析参数绘制图形 步骤3:编制数据 ...

  8. python制作自动抢票_python自动抢票

    # -*- coding: utf-8 -*- from splinter.browser import Browser from time import sleep import traceback ...

  9. python自动炒股软件下载_python自动股票交易软件

    获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为python3.5,意在抓取证券之星上当天所 ...

最新文章

  1. java spring scope_如何在Spring中自定义scope的方法示例
  2. cv2.VideoCapture().set(propId, value)设置摄像头图片大小的用法
  3. 【PAT (Advanced Level) Practice】1124 Raffle for Weibo Followers (20 分)
  4. python字典排序取最值总结
  5. 使用Python将Excel中的数据导入到MySQL
  6. 设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70)进行一趟归并后的结果为
  7. Android 自定义Application
  8. Execution default of goal org.springframework.boot:spring-boot-maven-plugin
  9. 为什么都反对XML而支持使用json呢?
  10. unity5 人皮渲染 Skin Shading
  11. Git版本控制:Git分支处理
  12. html5 embed 不自动播放,html5自动播放与 iframe 你管videoautoplay=1不工作?_html5_开发99编程知识库...
  13. 51单片机中模拟IIC的代码编写
  14. 今日头条java后端四面_今日头条笔试第二批后端开发第一题java实现
  15. win10更新后开不了机_win10开机关机正常,重启特别慢问题排查
  16. jxcell开发简单实例
  17. java在深圳找工作_[深圳java求职]没经验 找工作 求指点
  18. Python 获取本月的最后一天
  19. dell VOSTRO 5470 恢复efi启动方法(在uefi添加efi启动项的操作)
  20. 机器学习 (十二)让你轻松理解K-means 聚类算法

热门文章

  1. OpenCV之图像梯度(笔记11)
  2. Spring Boot 细节挖掘(全局异常处理)
  3. python云计算服务_阿里云python 云计算
  4. vue函数如何调用其他函数?_编程|如何简单理解函数的传参、返回、调用
  5. Spring在tomcat下使用JTA事务
  6. android 自定义课程表,Android课程表界面布局实现代码
  7. maya崩溃自动保存路径_xgen 分享在maya里制作头发失败经验
  8. (五)将YOLOv5 PyTorch模型权重转换为TensorFlow Lite格式
  9. Ubuntu 20.10 每日构建镜像已经可以下载测试
  10. 求斐波那契数列第n位的几种实现方式及性能对比(c#语言)