bigben446 2022-03-17 21:26 采纳率: 85.7%
浏览 90
已结题

crontab 定时运行python脚本失败

有一个python脚本,想用crontab 定时运行,但是运行失败,不清楚什么原因。

追加2:
可能和chrome和chromedriver有关系,我把这两个放在/home/用户名/opt/bin文件夹下,/opt/bin文件夹是我自己在用户名主目录下建的文件夹,专门放一些自己安装的bin程序什么的,/home/用户名/opt/bin写入zshrc文件,平时使用没有问题,不是标准的系统目录。但是我把这两个文件复制到标准的/usr/bin下面之后,还是不行。

追加1:
通过打印输出,发现是py脚本里面driver语句的问题,涉及到driver的语句,都不行
但是这个py程序在shell里面运行很好
写了一个最简单的py程序,用crontab -e加入的命令也可以把py脚本跑起来

原文:

crontab -e加入的命令是:

* * * * * /home/xxx/anaconda3/bin/python3.9 /media/xxx/data/biofile/script/python-script/xxx-login-v1.py

python脚本是:

# -*- coding: utf-8 -*-
#!/usr/bin/env python3.9

import sys
import requests
import json
from selenium import webdriver
import time
import warnings

warnings.filterwarnings("ignore")

option = webdriver.ChromeOptions()
#option.headless = True
driver = webdriver.Chrome(options=option)
driver.implicitly_wait(5) # seconds
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})


driver.get('http://1.1.1.2/ac_portal/default/pc.html?template=default&tabs=pwd&vlanid=0&_ID_=0&switch_url=&url=https://www.baidu.com&controller_type=&mac=00-15-c7-e1-d0-00')
#driver.get('https://www.baidu.com')
time.sleep(5)
driver.find_element_by_id("password_name").send_keys("1234")
driver.find_element_by_id("password_pwd").send_keys("5678")
driver.find_element_by_id("rememberPwd").click()
time.sleep(5)
driver.find_element_by_id("password_submitBtn").click()

  • 写回答

7条回答 默认 最新

  • bj_0163_bj 2022-03-18 08:40
    关注

    export DISPLAY=:0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 修改了问题 3月17日
  • 修改了问题 3月17日
  • 展开全部

悬赏问题

  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”