代码之家  ›  专栏  ›  技术社区  ›  Cassie H.

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

  •  0
  • Cassie H.  · 技术社区  · 8 年前

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

    python脚本在从命令行自己调用时运行良好。该文件使用selenium webdriver和geckodriver,两者都在PATH变量中。(当通过命令行调用时,文件可以正常工作)。我还添加了C:\ProgramFiles(x86)\Mozilla Firefox,正如其他堆栈解决方案中建议的那样,解决了类似的问题。然而,当我运行bash文件时,我得到一个错误:

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

    编辑 我目前使用以下工具定义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')
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Cassie H.    8 年前

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

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