python+selenium网页自动化运行

用 selenium IDE 做了几个网页自动运行的测试任务;
需要做成定时任务,每个任务分别在每天的固定时间运行。

一、环境配置

1、安装 nodejs

  • exe文件安装
  • windows环境设置“环境变量”

path 设置 nodejs 地址、npm 地址

  • 安装包自带npm管理工具

npm镜像设置

阿里云 NPM 镜像:<https://npm.aliyun.com>

腾讯云 NPM 镜像:<https://mirrors.cloud.tencent.com/npm/>

华为云 NPM 镜像:<https://mirrors.huaweicloud.com/repository/npm>

2、安装 python

  • exe文件安装
  • windows环境设置环境变量
    path 设置 python地址
  • 安装包自带pip管理工具

3、安装selenium

pip install selenium

4、安装chromedriver

  • npm 下载 chromedriver
  • python 配置
    从npm安装包中获取 chromedriver 的 exe 安装包复制到 python 文件夹下
  • 浏览器设置
    地址栏输入并回车:chrome://flags/#extensions-on-chrome-urls 。
    选项由 Disabled 改为 Enabled 。
  • windows环境设置环境变量
    path 设置chromedriver.exe地址

5、安装selenium-side-runner

用来运行side文件(浏览器中通过selenium-ide生成的side文件转化成py文件之后就不需要selenium-side-runner了)

npm install -g selenium-side-runner

二、执行

1、py文件执行方法

python auto.py

2、side文件执行方法

  • 指定要执行的文件和使用的浏览器的地址
selenium-side-runner C:\Downloads\auto.side -c "goog:chromeOptions.binary=’C:\Program Files\Google\Chrome\Application\chrome.exe’"
  • (指定浏览器名称)
"browserName=chrome"
  • 无界面运行chrome浏览器
selenium-side-runner -c "browserName=chrome goog:chromeOptions.binary='C:\Program Files\Google\Chrome' chromeOptions.args=[disable-infobars,no-sandbox,headless]" --base-url <http://xxx.xx.xx.xx> test.side

三、python 定时语法

1、用到定时schedule和时间time依赖

import schedule
import time

2、定义两个任务

def job1():
print("执行定时任务1...")
auto1()
print("已执行任务1...")

def job2():
print("执行定时任务2...")
auto2()
print("已执行任务2...")

3、每天定时执行

# 每天定时执行
schedule.every().day.at("12:00").do(job1)
schedule.every().day.at("14:00").do(job2)

# 或者每10分钟执行一次任务
# schedule.every(1).minutes.do(job1)

# 结束
while True:
schedule.run_pending()
time.sleep(1)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注