【发布时间】:2016-03-24 11:05:33
【问题描述】:
我有一个 python Selenium 测试,它使用 Firebug 和 Netexport 打开 firefox,登录到网页并等待重定向链中的最后一页加载。当我在 Windows 命令行上运行时,这个测试运行得非常好,但是当我尝试从任务计划程序运行它时,9/10 次它找不到 Firefox 配置文件。测试时不时地按预期工作。
我对任务计划程序的怪癖不是很熟悉,所以这种行为对我来说没有意义。
任务没有隐藏,我现在将其设置为仅在登录时运行。它被配置为在 VM 正在运行的 Windows Server 2012 上运行。
任何有关此问题的知识将不胜感激。以下是我认为是相关代码,但如果不够,请告诉我。
profile = webdriver.FirefoxProfile('path/to/default/profile')
# set up extensions/preferences
...
driver = webdriver.Firefox(firefox_profile=profile)
driver.get(<URL>)
# send_keys and other interactions
...
我也尝试过不指定配置文件位置并让 selenium 创建一个临时配置文件。结果相同。
错误信息:
当 Firefox 打开时,我得到 p>
您的 Firefox 配置文件无法加载。它可能丢失或无法访问。
硒的例外是
WebDriverException:消息:无法加载配置文件。配置文件目录:%s
接下来是关于检查日志文件(不存在)的内容
【问题讨论】:
-
这个
path/to/default/profile是真正相关的东西!那个位置存在吗?无论用户附加到计划任务,他都有权访问此位置吗? -
@SiKing 该位置确实存在,我尝试指定路径并让 Selenium 创建一个临时配置文件。两种方式都在命令行上工作,并且都在任务调度程序中存在相同的问题。在调度器中运行任务的用户和我在命令行运行时的用户是一样的。
-
你是如何指定路径的?全局还是相对?
-
@SiKing 绝对路径。但就像我说的,Selenium 临时配置文件(未指定任何路径)也不起作用。
-
是否存在与“不起作用”相关的错误?
标签: python selenium selenium-webdriver windows-server-2012 taskscheduler