1

标题说明了一切。我在没有 GUI 的远程网络服务器上使用 webdriver。从命令行,我可以做到这一点,一切正常:

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 一​​起使用,当我尝试测试脚本时,我只是在网站上进行。

4

1 回答 1

1

通过将包含调用 webdriver 的 Python 脚本的文件夹的权限从 755 更改为 757(即,我为所有用户授予写入权限)来解决它。我不确定这是否是我的情况的怪癖,因为我忽略了其他一些事情,或者是否在这里获得了实际的洞察力,但我想说带回家的教训是在不熟悉的服务器上工作时是否发生了奇怪的事情,检查权限。

于 2013-08-21T06:10:09.050 回答