我有一个带有Flask的应用程序,它使用Selenium和Chrome webdriver来抓取web。当我在本地测试它时,它可以完美地工作。但是,我尝试部署到Heroku,但始终收到以下两个错误:
PermissionError: [Errno13] Permission denied 'chromedriver/chromedriver.exe'
selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
这是我在代码中引用chromedriver的部分。在
^{pr2}$文件chromedriver.exe
位于chromedriver
文件夹中,该文件夹与该文件处于同一级别平地机.py(包含Selenium代码的文件)。以下是目录结构:
QC-Scraper
|- app.py
|- GradeScraper.py
|- Procfile
|- requirements.txt
|- README.md
|- chromedriver
|- chromedriver.exe
|- templates
|- grades.html
在结构中,app.py
是主要的Flask app,其中app.run()
函数被调用。GradeScraper.py
是具有实际刮片代码的部件,它被导入app.py
。
我会尽力提供任何必要的额外信息。我们将非常感谢您的帮助!在
提前谢谢!在
编辑:我把Windows chromedriver改为Linux chromedriver并部署它,错误仍然存在。在
EDIT2:我还在procfile中添加了一个release命令,chmod +x chromedriver/chromedriver
。还是不行。在
它告诉您
chromedriver.exe
没有设置可执行位。在但我不认为这有什么关系,因为你试图在一台Linux机器上运行Windows程序(.exe),而这正是Heroku的特点。在
相关问题 更多 >
编程相关推荐