Python 从cronjob运行脚本时发生Geckodriver错误

Python 从cronjob运行脚本时发生Geckodriver错误,python,python-2.7,selenium,selenium-webdriver,Python,Python 2.7,Selenium,Selenium Webdriver,我有一个python脚本,当我们手动执行它时,它运行得非常好。然而,当我们计划它从cronjob运行时,它失败了 driver = webdriver.Firefox(firefox_profile=profile) File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 148, in __init__ self.service.start() File "/usr/

我有一个python脚本,当我们手动执行它时,它运行得非常好。然而,当我们计划它从cronjob运行时,它失败了

driver = webdriver.Firefox(firefox_profile=profile)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 148, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 81, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 
下面是我的剧本

#!/usr/bin/env python
import os
from browsermobproxy import Server
server = Server("/browsermob-proxy-2.1.4/bin/browsermob-proxy")
server.start()
proxy = server.create_proxy()

from pyvirtualdisplay import Display
display = Display(visible=0, size=(1920, 1080))
display.start()

from selenium import webdriver
profile  = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)


proxy.new_har("support")
driver.get('https://mynet.myco.net/')
username = driver.find_element_by_name("user_txt")
password = driver.find_element_by_name("user_pass")
username.send_keys("support@myco.net")
password.send_keys("qaz@1234")
login_attempt = driver.find_element_by_xpath("//*[@type='submit']").click()
proxy.har # returns a HAR JSON blob
data = proxy.har

import json
with open('/json/mynet.json', 'w') as outfile:
    json.dump(data, outfile)

from pprint import pprint

number = 0
with open('/json/mynet.json') as data_file:
    data = json.load(data_file)


total = 0
for j in range(len(data["log"]["entries"])):
    total += (data["log"]["entries"][number]["time"])
    number  += 1       
#print(total)


server.stop()

f=open("/mynet.log", "a+")
f.write("https://mynet.myco.net/: %d\r\n" % total)
driver.quit()
display.stop()
我甚至在小路上设置了壁虎河,但它不起作用。 有没有办法解决这个问题

注意:我正在docker容器中运行此脚本和cronjob。
我已将geckodriver放在/usr/local/bin/

中,只需将python代码和gecko驱动程序放在同一位置,然后编写“geckodriver”。无需给出完整路径。试试这个。可能是@Hiten的副本,你建议在哪里写geckodriver把你的gecko驱动程序放在项目所在的地方,然后不需要给出完整的路径,只是给了一个名字“geckodriver”。@Hiten,哦,我明白了,我也试过了,没用。如果手动运行脚本,则我的脚本可以工作。只有从cronjob运行时,脚本才不工作。