从 bash 脚本调用 python 文件时,程序无法识别 PATH 中的 geckodriver

Program not recognising geckodriver in PATH when calling a python file from a bash script

我正在尝试使用 bash 脚本调用 python 测试文件。该脚本当前读取 -

python C:\inetpub\wwwroot\BE\BE\Tests\test_BE.py %*

python 脚本 运行 从命令行单独调用时非常完美。该文件使用 selenium webdriver 和 geckodriver,两者都在 PATH 变量中。 (正如通过命令行调用时文件工作正常所证明的那样)。我还添加了 C:\Program Files (x86)\Mozilla Firefox\,因为这是针对类似问题的其他堆栈解决方案中的建议。但是,当我 运行 bash 文件时,我得到以下错误:

selenium.common.exceptions.WebDriverException: Messaage: 'geckodriver.exe' executable needs to be in PATH.

我不确定如何解决这个问题,因为可执行文件已经在路径中。任何见解将不胜感激。

EDIT 我目前定义 geckodriver 和驱动程序等的路径:

gecko = os.path.normpath(os.path.join(os.path.dirname(__file__), 'geckodriver'))
binary = FirefoxBinary('C:\Program Files (x86)\Mozilla Firefox\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path=gecko+'.exe')

好的,所以 Raman 建议的解决方案是删除 gecko 变量,并将 geckodriver.exe 的完整路径放在驱动程序变量中,即:

driver = webdriver.Firefox(firefox_binary=binary, executable_path='C:\path\to\executable')

一旦我这样做了,python 脚本就完美地工作了。