模块“selenium.webdriver”没有属性“PhantomJS”
Posted
技术标签:
【中文标题】模块“selenium.webdriver”没有属性“PhantomJS”【英文标题】:module 'selenium.webdriver' has no attribute 'PhantomJS' 【发布时间】:2018-06-07 09:41:39 【问题描述】:我正在运行 PhantomJS
driver = webdriver.PhantomJS(executable_path='E:\phantomjs\bin\phantomjs.exe')
但是程序失败了,说
AttributeError:。
操作系统是 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
。
是的,这正是我编写的代码。
【参考方案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(我无头使用它)。
【讨论】:
以上是关于模块“selenium.webdriver”没有属性“PhantomJS”的主要内容,如果未能解决你的问题,请参考以下文章
From selenium import webdriver
selenium webdriver学习,选择模块,点击下一页,获取当前url
软件测试|| 坐好小板凳,咱们一起看看Selenium WebDriver如何安装。
Selenium 错误消息“selenium.webdriver 没有属性执行脚本”