通过Pyhton制作RPA小工具

由于负责多套系统运维工作,需要每天关注系统跑批情况,仅能通过系统前端结果判断,通过python制作RPA小工具。
正常操作:
1. 打开浏览器
2. 浏览器最大化(方便查看)
3. 打开url连接,输入用户名、密码进行操作
4. 打开新标签页,输入url地址、用户名、密码,操作。

这种重复性的工作,完全可以通过程序自动完成,在执行程序的过程中,可以去泡枸杞茶。

新手学习建议按顺序看,有一定基础可以直接翻到最后,看源码。

1.浏览器驱动下载驱动

用python启动浏览器,需要浏览器驱动,以下是chrome浏览器驱动下载地址,务必根据操作系统类型版本下载对应的驱动
浏览器驱动下载地址
http://npm.taobao.org/mirrors/chromedriver/
假如正常程序突然不可用,可检查是否浏览器自动更新,如是,请更新驱动。

2.通过pycharm安装所需的包

本程序中需要安装如下包,无关日期操作的可以省去datetime,openpyxl
from selenium import webdriver
import time
import datetime
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import openpyxl
import os

3.驱动位置初始化

用selenium调用会在后台启动chromedriver.exe进程,日积月累会影响机器速度,可在每次启动前关闭多余进程(根据实际需要选择)

def __init__(self):
        # 关闭多余进程
        # try:
        #     os.system("taskkill /f /im chromedriver.exe /t")
        # except:
        #     pass
        #chrome浏览器驱动
        self.driver_path = r'./file/chromedriver.exe'

不懂相对位置的新手,可以将文件和.py放在同一个文件夹
修改最后一行代码为:

self.driver_path = r'./chromedriver.exe'

4.启动浏览器、最大化、打开第1个url地址

使用浏览器驱动打开的浏览器并最大化,方便查看,另外有些网页前端代码会根据浏览器大小调整,因此直接最大化、打开第1个地址

    def open_chrome(self): #启动chrome浏览器
        self.driver = webdriver.Chrome(executable_path= self.driver_path)

    def chrome_max(self):#浏览器全屏最大化
        self.driver.maximize_window()

    def open_url(self,url): #打开url地址
        self.driver.get(url)

5.输入用户名密码

需要在输入框输入文本信息,首先要找到对应的输入框,然后输入文本信息,这里我用到的有两种,以下以微博为例:

5.1 在chrome浏览器中打开weibo.com

5.2 浏览器最大化

5.3 找所需元素

a.按下键盘F12,先单击图片所示的想鼠标一样的图标,
b.再单击你要选择的界面元素(用户名输入框),
c.下面显示的是页面源码,被选中的代码背景色会加深

在这里插入图片描述

d.代码中的id=“loginname” 中的name 为我们所需的id
e.右键页面代码选择copy -> copy Xpath 为下面所需的path

也可以选copy -> copy full Xpath ,其中通过xpath可以对任何输入框输入信息

def insert_by_id(self,id,*text): # 输入框输入信息
        WebDriverWait(self.driver, 15).until(EC.presence_of_element_located((By.ID, id)))
        msg = self.driver.find_element_by_id(id)
        msg.clear()
        msg.send_keys(text)

    def insert_by_path(self,path,*text): #输入框输入信息
        WebDriverWait(self.driver, 15).until(EC.presence_of_element_located((By.XPATH, path)))
        msg = self.driver.find_element_by_xpath(path)
        msg.clear(
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值