【问题标题】:How to resolve 'ImportError: No module named marionette_test'如何解决“ImportError:没有名为 marionette_test 的模块”
【发布时间】:2018-05-03 22:41:08
【问题描述】:

在我的 Python 脚本中,我试图通过 Marionette 驱动程序设置一些电话设置。我正在导入以下内容:

from marionette_driver import By
from marionette_driver import Wait
from marionette import Marionette

然后我尝试打开与设备的客户端会话:

client = Marionette('localhost', port=2828)
client.start_session()

但是,我收到 UnknownCommandException:

Traceback (most recent call last):
  File "xyz.py", line 30, in <module>
    client.start_session()
  File "/usr/local/lib/python2.7/dist-packages/marionette_driver/decorators.py", line 26, in _
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/marionette_driver/marionette.py", line 1243, in start_session
    body)
  File "/usr/local/lib/python2.7/dist-packages/marionette_driver/decorators.py", line 26, in _
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/marionette_driver/marionette.py", line 741, in _send_message
    self._handle_error(err)
  File "/usr/local/lib/python2.7/dist-packages/marionette_driver/marionette.py", line 765, in _handle_error
    raise errors.lookup(error)(message, stacktrace=stacktrace)
marionette_driver.errors.UnknownCommandException: WebDriver:NewSession

仅供参考,我使用的是 marionette-driver 1.1.1

任何有关解决此问题的建议将不胜感激。


于 2018 年 10 月 26 日编辑

它现在返回一个不同的错误信息:

$ python
Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from marionette import Marionette
Traceback (most recent call last):
  File "./xyz.py", line 7, in <module>
    from marionette import Marionette
  File "/usr/local/lib/python2.7/dist-packages/marionette/__init__.py", line 7, in <module>
    from .marionette_test import (
ImportError: No module named marionette_test

【问题讨论】:

    标签: python marionette firefox-marionette


    【解决方案1】:

    这可能是由于此处回答的驱动程序过时:WebDriver Error New Session

    如果不是 Repo 相关,那么可能是因为 .pyc 文件滞留,python 在重新编译之前尝试先使用它们。

    • 基本上你会找到相关的 .pyc 文件,然后将其删除,以便重新编译源代码。查看此open bug 了解更多信息。

    谢谢。美好的一天。

    【讨论】:

    • 感谢您的链接。我根据线程上接受的答案更新了我的geckodriver。但这并没有解决我的问题。我现在收到ImportError: No module named marionette_test
    • 你好,有人提到 [bugzilla.mozilla.org/show_bug.cgi?id=1321468] 可以通过运行一些“clobber python”命令来删除旧的 .pyc 文件。谢谢你。美好的一天。
    猜你喜欢
    • 2019-09-22
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    相关资源
    最近更新 更多