web自动化5-常用[共用]方法分离

"""
dirver - 公共方法
"""
import os
import sys
import time
import yaml
from pathlib import Path
from selenium import webdriver


# 获取浏览器driver
from selenium.webdriver.common.by import By


def get_driver():
    # 获取配置对象
    option = webdriver.ChromeOptions()
    option.add_experimental_option("detach", True)
    # 去掉自动化标识
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    option.add_argument('--disable-blink-features=AutomationControlled')
    option.add_argument('--force-device-scale-factor=0.9') # 屏幕百分比缩小
    # 关闭保存密码弹窗
    prefs = {}
    prefs['credentials_enable_service'] = False
    prefs['profile.password_manager_enabled'] = False
    option.add_experimental_option('prefs', prefs)
    driver = webdriver.Chrome(options=option)
    driver.implicitly_wait(10)
    time.sleep(1)
    return driver


# 读取配置
def read_yml(yml):
    config_yml = str(Path(os.path.relpath(sys.argv[0])).resolve().parent.parent) + "\\config\\" +yml
    with open(config_yml, 'r', encoding='utf-8') as f:
        result = yaml.load(f.read(), Loader=yaml.FullLoader)
    # print(result)
    return result


# 图片,视频路径
def get_filepath():
    # 当前目录
    # baseDir = os.path.dirname(os.path.abspath(os.path.relpath(sys.argv[0])))
    # 上级目录
    baseDir2 = Path(os.path.relpath(sys.argv[0])).resolve().parent.parent
    # print(baseDir2)
    return str(baseDir2) + "\\file\\"


# 系统登陆
def login(data):
    driver = get_driver()
    driver.maximize_window()
    time.sleep(2)
    driver.get(data["url"])
    driver.implicitly_wait(10)
    driver.find_elements(By.CLASS_NAME, 'loginInput')[0].send_keys(data["name"])
    driver.find_elements(By.CLASS_NAME, 'loginInput')[1].send_keys(data["pwd"])
    driver.find_elements(By.CLASS_NAME, 'loginButton1')[0].click()
    time.sleep(4)
    return driver


import win32con
import win32clipboard as wincld
# 给鼠标右键复制使用
def ctrl_c(info):
    wincld.OpenClipboard()
    wincld.EmptyClipboard()
    wincld.SetClipboardData(win32con.CF_UNICODETEXT, info)
    wincld.CloseClipboard()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值