【问题标题】:module 'selenium.webdriver' has no attribute 'PhantomJS'模块“selenium.webdriver”没有属性“PhantomJS”
【发布时间】:2018-06-07 09:41:39
【问题描述】:

我正在运行 PhantomJS

driver = webdriver.PhantomJS(executable_path='E:\phantomjs\bin\phantomjs.exe')

但是程序失败了,说

AttributeError:模块“selenium.webdriver”没有属性“PhantomJS”。

操作系统是 Windows 10。 我的python版本是3.6,selenium版本是3.8.0,phantomjs版本是2.1.1。它们都是最新的。

如果有人能提供帮助,谢谢!

以下是selenium version的截图。

【问题讨论】:

  • 您是否有一个名为 selenium.py 的本地模块/文件?
  • PhantomJS 支持已被弃用,但您仍然应该(在 3.8.0 中)能够执行webdriver.PhantomJS(...),其中webdriver 以这种方式导入:from selenium import webdriver
  • 是的,这正是我编写的代码。

标签: python selenium phantomjs


【解决方案1】:

当您在路径中使用单引号 (\) 时,您应该传递原始 (r) 开关,如下所示:

driver = webdriver.PhantomJS(executable_path=r'E:\phantomjs\bin\phantomjs.exe')

更新:

如果错误仍然存​​在,请通过 Command Prompt 检查以下内容:

  • 查看Selenium版本:

    >pip show -V selenium
    

    你必须看到这样的输出:

    Name: selenium
    Version: 3.8.0
    Summary: Python bindings for Selenium
    Home-page: https://github.com/SeleniumHQ/selenium/
    Author: UNKNOWN
    Author-email: UNKNOWN
    License: Apache 2.0
    Location: c:\python\lib\site-packages
    Requires:
    
  • 检查所有已安装的packages

    >pip freeze
    

    你必须看到这样的输出:

    Selenium==3.8.0
    

如果以下命令Fails 表示Selenium 没有正确安装。所以你必须这样做:

>pip install -U selenium

您也可以卸载 Selenium并再次安装,如下所示:

>pip uninstall selenium
>pip install -U selenium

这是完整的Installation Instructions 供您参考。

【讨论】:

  • 建议很好,但我无法理解它与 OP 错误的关系。
  • @alecxe 谢谢。这是我一开始就怀疑的。但增加了进一步的步骤。如果Answer 看起来不错,请告诉我。
  • 谢谢。但是我已经检查了你写的内容,结果已添加到问题的末尾。看来问题与此无关。
【解决方案2】:

我已经解决了这个问题。 原因是我使用pycharm作为IDE。我使用虚拟环境创建项目。这就是为什么我不能使用我安装的库。

无论如何,谢谢你的帮助!

【讨论】:

  • 你应该使用 cmets
【解决方案3】:

您的问题不在于代码或任何问题是 Selenium 社区在新版本中停止支持 PhantomJS,因此每次您尝试拉取 PhatomJs 库时它都不存在。 在文档中它说他们目前支持 https://www.selenium.dev/selenium/docs/api/py/api.html

【讨论】:

    【解决方案4】:

    当我在谷歌中寻找答案时,我提请注意这个问题。我花了相当多的工作才找到它的答案,所以为了为别人节省一些工作,虽然这个问题已经过去了很多时间,但我建议你现在不要使用 PhantomJS。在 Selenium https://www.selenium.dev/documentation/getting_started/installing_browser_drivers/ 的官方网站上,您可以阅读以下引述:“PhantomJS 是一个基于 Webkit 的无头浏览器,尽管版本比 Google Chrome 或 Safari 使用的版本旧得多。虽然在历史上它是一种流行的选择,但现在它是明智的为了避免 PhantomJS。该项目自 2017 年 8 月 5 日以来一直无人维护,因此尽管网络将继续发生变化,但 PhantomJS 不会更新。这是在 Google 宣布能够无头运行 Chrome 之后,Mozilla 的 Firefox 现在也提供了这一功能."。我换成了 Mozilla 的 Firefox(我无头使用它)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-26
      • 2018-10-11
      • 1970-01-01
      • 1970-01-01
      • 2020-06-04
      • 2021-12-24
      • 2015-05-08
      相关资源
      最近更新 更多