Python:Can';不要通过脚本启动SeleniumWebdriver(Firefox),但它可以通过命令行启


Python: Can't start Selenium Webdriver (Firefox) via a script, but it works via command line

标题说明了一切。我在没有GUI的远程Web服务器上使用Web驱动程序。从命令行,我可以做到这一点,一切都很好:

from selenium import webdriver
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800,600))
display.start()
browser = webdriver.Firefox()

也就是说,我可以通过浏览器实例浏览网页、获取网址、获取源代码以及其他一切。但是尝试在服务器上执行包含相同行的脚本是行不通的。脚本通过PHP执行可能是相关的。在browser = webdriver.Firefox()之前,脚本中的所有内容都能正常工作——也就是说,导入和显示内容都能很好地工作。这只是最后一行;出于某种原因,当脚本试图打开时,浏览器不想打开。这毫无意义,我真的很困惑。可能的原因/解决方案?也许与权限有关?

编辑

只是澄清一下,我在远程服务器上完成这一切。通过命令行,我将SSH与PUTTY一起使用,当我尝试测试脚本时,我只需在网站上进行测试。

通过将包含调用网络驱动程序的Python脚本的文件夹的权限从755更改为757(即,我将写入权限授予所有用户)来解决此问题。我不确定这是否是因为我忽略了其他事情而导致的我的情况的怪癖,也不确定这里是否有真正的见解,但我想说的是,如果在不熟悉的服务器上工作时发生了奇怪的事情,请检查权限。