rpa可能要用到的基础

json格式化字典

import json
dic = {‘code’: 200, ‘msg’: ‘???’, ‘data’:{“xxxxx:11111”} }
a = json.dumps(dic, indent=4,ensure_ascii=False,sort_keys=False,separators=(’,’,’:’))
print(a)

import os
import shutil

生成文件夹

def tp(tp=None):
os.makedirs(“本地地址”+tp)#自己电脑的路径

删除文件夹

os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除

os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除

os.unlink(‘F:\新建文本文档.txt’) # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。

shutil.rmtree(“C:\Users\9000\Desktop\asd”)# 文件路径

解压缩包

import zipfile
def unzip_file(zip_src, dst_dir):
# zip_src压缩包路径
# dst_dir解压后存放路径
r = zipfile.is_zipfile(zip_src)
if r:
fz = zipfile.ZipFile(zip_src, ‘r’)
for file in fz.namelist():
fz.extract(file, dst_dir)
else:
print(‘This is not zip’)
unzip_file(zip_src=“C:\Users\9000\Desktop\555\111.zip”, dst_dir=“C:\Users\9000\Desktop\123\”)

提取pdf图片

import pdfplumber
import os
list = []
path = “xxx.pdf”
with pdfplumber.open(path)as pdf:
for i in pdf.pages:
i = str(i)
e = i[-2]
e = int(e)
e = e-1
print(e)

        second_pag = pdf.pages[e]
        # print(second_pag)
        action_Name = second_pag.extract_tables()[0]
        # print(action_Name)
        for age in action_Name:
            actions_name = age
            actions_age = actions_name[0]
            actions_names = "".join(actions_age).replace("\n", "")
            list.append(actions_names)
            over_Name = actions_name[2]
            list.append(over_Name)
            money = actions_name[4]
            list.append(money)
            types = actions_name[5]
            list.append(types)
            time = actions_name[6]
            times = "".join(time).replace("\n", "")
            list.append(times)
            # print(actions_names, over_Name, money, types, times)

打开文件夹,输出文件夹的文件名称

import os
path = os.listdir(“xxxx”)
print(path)

保存到excel

import openpyxl

# 2调用workbook()方法

wb = openpyxl.Workbook()

# 3新建一个excel文件并起名

ws = wb.create_sheet(“sheet1”)

# 4单元格写数据

ws.cell(row=1, column=1).value = “时间”

ws.cell(row=1, column=2).value = “评论”

ws.cell(row=1, column=3).value = “长度”

# 保存

wb.save(“保存的数据.xlsx”)

print(“ok”)

git提交: https://help.aliyun.com/document_detail/153802.html
下拉数据 git clone 地址
查看当前管理的文件夹中所有文件和文件夹的状态 git status
管理单独的文件夹 git add supercrm
管理所有文件和文件夹 git add .
添加备注 git commit -m “xxxx”
查看git所管理的所有版本 git log
执行git回滚操作 git reset --hard 版本号
将文件从以修改的工作区回滚到未修改的状态 git checkout – 文件名
让他回到工作去,并且还保持着修改后的状态 git reset HEAD 文件名
查看当前分支 git branch
创建一个名为dev的分支 git branch dev
将工作切换到dev分支上 git checkout dev
分支合并—首先切换到master分支,然后在master分支上执行merge指令来合并bug分支的代码 git branch master git merge bug
删除bug分支 git branch -d bug
拉取origin这个名字对应的远程仓库地址的那个仓库里面的dev分支上的代码拉取下来 git pull origin dev

上传代码

  1. 给远程仓库起名 git remote add origin 远程仓库地址
  2. 向远程推送代码 git push -u origin 分支

在新电脑上第一次获取代码

  1. 克隆远程仓库代码
    git clone 远程仓库地址(内部已实现git remote add origin 远程仓库地址)
  2. 切换分支
    git checkout 分支
  3. 切换到dev分支进行开发 git checkout dev
  4. 把master分支合并到dev(仅一次) git merge master
  5. 修改代码
  6. 提交代码
    git add .
    git commit -m ‘xx’
    git push origin dev

回老电脑上继续写代码

  1. 切换到dev分支进行开发
    git checkout dev
  2. 拉代码
    git pull origin dev
  3. 继续开发
  4. 提交代码
    git add .
    git commit -m ‘xx’
    git push origin dev
    git add暂存区(临时存储)—git commit本地库(历史版本)

函数

issubclass() # 方法用于判断参数 class 是否是类型参数 classinfo 的子类。
isinstance() # 函数来判断一个对象是否是一个已知的类型,类似 type()。
time.strptime(str,fmt=’%a %b %d %H:%M:%S %Y’) # 根据fmt的格式把一个时间字符串解析为时间元组。
os.path.isdir(“路径”) # 判断路径下的是否为目录
os.path.isfile(“路径”) # 判断路径下的是否为文件
os.getcwd() # 输出当前进程的工作目录
os.path.join() # 链接两个或更多路径名组件
os.listdir() # 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
os.path.isfile() # 用于判断某一对象(需要提供绝对路径)是否为文件
os.path.isdir() # 用于判断某一对象(需要提供绝对路径)是否为目录
os.path.abspath() # 获取当前脚本完整路径
os.chdir() # 改变当前工作目录到指定路径
spec_from_file_location # 函数,将会返回模块的说明
module_from_spec # 函数,它会返回引入的模块
importlib.util.spec_from_file_location( ,) # 使用util通过模块名和文件路径来引入一个模块
importlib.util.module_from_spec() # 返回引入的模块
sys.path.append(r’xxx/xxx/xxx’) # import 导入模块可以按指定路径导入
super().init() # 继承父类初始化方法
super(x, y).init() # 继承父类初始化方法,且要求y为x的子类
super(type, obj).init() # 。。。。。。 , 要求obj的类型是type或者其子类

selenium

from selenium.webdriver.common.by import By # 导入这个包后才能用find_element(By.XPATH)

driver = webdriver.Chrome(‘drivers/chromedriver.exe’) # 导入谷歌引擎
driver.get("") # 输入要运行的网址
driver.maximize_window() # 窗口最大化
iframe = driver.find_element(By.XPATH,“xxx”) # 用xpath方法找到iframe 也可以用别的方法
driver.switch_to.frame(iframe) # 并且定位到iframe
driver.switch_to.default_content() # 关闭定位,回到主页
driver.implicitly_wait(10) # 隐式等待(一次找不到,等一会儿再来找)
driver.switch_to.window(driver.window_handles[1]) ***** b.switch_to_window_by_title(title=‘xxx(页面title)’) # selenium跳转页面绷定新页面(后一种是公司自己封装的方法)
print(driver.switch_to.alert.text) # 获取弹窗的文本信息
driver.switch_to.alert.accept() # 点击弹窗确定
driver.switch_to.alert.dismiss() # 点击弹窗取消
driver.switch_to.alert.send_keys(‘xxxx’) # 向弹窗中输入信息
driver.switch_to.window(driver.window_handles[1]) # 切换页面
dc = driver.find_element(By.XPATH, ‘xxx’).text # 获取文本内容
driver.execute_script(‘window.scrollTo(0, 2000)’) # 拉动滚动条到指定位置
Keys对象导入:from selenium.webdriver.common.keys import Keys
删除键(BackSpace)
send_keys(Keys.BACKSPACE)
空格键(Space)
send_keys(Keys.SPACE)
制表键(Tab)
send_keys(Keys.TAB)
回退键(Esc)
send_keys(Keys.ESCAPE)
回车键(Enter)
send_keys(Keys.ENTER)
全选(Ctrl+A)
send_keys(Keys.CONTROL,‘a’)
复制(Ctrl+C)
send_keys(Keys.CONTROL,‘c’)
剪切(Ctrl+X)
send_keys(Keys.CONTROL,‘x’)
粘贴(Ctrl+V)
send_keys(Keys.CONTROL,‘v’)
键盘 F1
send_keys(Keys.F1)
键盘 F12
send_keys(Keys.F12)
find_element_by_linx_text() # 文字超链接,文字定位
find_element_by_partial_link_text() # 文字超链接,部分文字定位
from selenium.webdriver import ActionChains 动作链

click(on_element=None) # 单击鼠标左键
click_and_hold(on_element=None) # 点击鼠标左键,不松开
context_click(on_element=None) # 点击鼠标右键
double_click(on_element=None) # 双击鼠标左键
drag_and_drop(source, target) # 拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) # 拖拽到某个坐标然后松开
key_down(value, element=None) # 按下某个键盘上的键
key_up(value, element=None) # 松开某个键
move_by_offset(xoffset, yoffset) # 鼠标从当前位置移动到某个坐标
move_to_element(to_element) # 鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) # 移动到距某个元素(左上角坐标)多少距离的位置
perform() # 执行链中的所有动作
release(on_element=None) # 在某个元素位置松开鼠标左键
send_keys(*keys_to_send) # 发送某个键到当前焦点的元素
send_keys_to_element(element, *keys_to_send) # 发送某个键到指定元素
eg:ActionChains(driver).context_click(操作对象).perform()
driver.back() # 网页后退
driver.forward() # 网页前进
driver.refresh() # 网页刷新

airtest

-- encoding=utf8 --

author = “9000”
from airtest.core.api import *
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome

driver = WebChrome()
driver.implicitly_wait(5)
driver.get(“https://www.百度.com/”)
driver.maximize_window() # 最大化窗口
driver.airtest_touch(Template(r’oldentrancetwo.png’)) # 点击选中的图片r 注释(需要将要选中的图片截屏,放到代码包下)
driver.switch_to_new_tab() # 切换页面

jupyter_notebook 调试

  1. 新建一个文件夹 ——>2.把rpalibe拖入——>3.拖入浏览器驱动
    ——>4.在文件夹中按shift点击鼠标右键,选择shell模式
    ——>5.输入jupyter notebook——>6.在files中点击右上角的new,并选择python3
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值