有一个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()