python selenium 无法使用 Firefox 扩展 - 消息:无法加载配置文件。简介目录

Posted

技术标签:

【中文标题】python selenium 无法使用 Firefox 扩展 - 消息:无法加载配置文件。简介目录【英文标题】:python selenium does not scale with firefox - Message: Can't load the profile. Profile Dir 【发布时间】:2016-09-19 17:30:12 【问题描述】:

为什么在 python 和 firefox 中使用 selenium 会发生这种情况? Selenium 无法扩展到简单的循环。为什么Firefox不能缩放?随着时间的推移,它决定抛出错误并退出。

Mozilla Firefox 45.0 selenium.版本 '2.53.2'

from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
mylist = ['page1','page1',...,'pageN']
while True:
   for data in mylist:

        browser = webdriver.Firefox()
        try:
           myfunc(data) # Code that uses selenum to fetch pages
        except:
            pass
        browser.quit()
   time.sleep(60)



No handlers could be found for logger "sentry.errors.serializer"
Traceback (most recent call last):
  File "platrieveerp.py", line 231, in <module>
    browser = webdriver.Firefox()
  File "/usr/local/lib/python2.7/dist-packages/selenium-2.53.2-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 103, in __init__
    self.binary, timeout)
  File "/usr/local/lib/python2.7/dist-packages/selenium-2.53.2-py2.7.egg/selenium/webdriver/firefox/extension_connection.py", line 51, in __init__
    self.binary.launch_browser(self.profile, timeout=timeout)
  File "/usr/local/lib/python2.7/dist-packages/selenium-2.53.2-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 68, in launch_browser
    self._wait_until_connectable(timeout=timeout)
  File "/usr/local/lib/python2.7/dist-packages/selenium-2.53.2-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 106, in _wait_until_connectable
    % (self.profile.path))
selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Profile Dir: /tmp/tmpOgsKOx If you specified a log_file in the FirefoxBinary constructor, check it for details.

【问题讨论】:

快速检查 - 在driver.close() 而不是driver.quit() 的情况下会抛出相同的错误吗?谢谢。 【参考方案1】:

Selenium 在运行循环时没有失败,它在 webdriver.Firefox() 处失败。当脚本仍然无法识别打开的 Firefox 应用程序时,在第 231 行之后的某个时间连接超时时会识别该错误。

在使用无头浏览器运行时,这只是 selenium 中的一个错误。要获取 selenium 的工作版本,请运行

sudo pip install -U selenium 

这应该是一个类似的问题: Selenium: FirefoxProfile exception Can't load the profile

【讨论】:

我今天早些时候实际上遇到了同样的问题,并认为我用上述语句解决了它。事实证明,它仅在我通过 crontab 而不是在终端中运行脚本时才有效。并不是说使用 crontab 运行脚本是解决方案,而是分享我同样的问题 我今天运行了两次脚本,成功然后开始陷入这个陷阱,清除临时文件,没有工作。最糟糕的是,它仍然在我的本地工作,只是停止在服务器上工作!

以上是关于python selenium 无法使用 Firefox 扩展 - 消息:无法加载配置文件。简介目录的主要内容,如果未能解决你的问题,请参考以下文章

Selenium_python自动化环境搭建篇

python selenium --browser 操作

Selenium2+python自动化2-pip降级selenium3.0

Selenium2+python自动化2-pip降级selenium3.0

Selenium Web 驱动程序 Firefox 打开空白页

python fire库的使用