首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyCharm无法连接到GhostDriver

PyCharm无法连接到GhostDriver
EN

Stack Overflow用户
提问于 2013-07-24 07:13:07
回答 2查看 2K关注 0票数 22

我有一个单元测试,当我通过python manage.py test运行它时,它是通过的,但是当我从PyCharm内部运行它时,它失败了。

代码语言:javascript
复制
def test_alpha(self):
    from selenium.webdriver.common.utils import free_port
    from selenium import webdriver

    driver = webdriver.PhantomJS(executable_path=PHANTOMJS_PATH, port=free_port())
    driver.quit()

从PyCharm运行时,我得到的异常是

代码语言:javascript
复制
WebDriverException: Message: 'Can not connect to GhostDriver' 

我花了相当长的时间研究这个问题,并且注意到当我手动指定端口时,测试会在PyCharm中通过。

代码语言:javascript
复制
# suppose 50000 happens to be a free port on your computer
driver = webdriver.PhantomJS(executable_path=PHANTOMJS_PATH, port=50000)

快速回顾:

  • python manage.py test测试合格
  • 如果手动指定端口,则在PyCharm中通过测试
  • PyCharm中的测试失败,如果port=free_port()

PyCharm是怎么做的,这使得测试无法连接到Ghostdriver?

代码语言:javascript
复制
# For convenience, the `free_port()` code snippet is here
# selenium.webdriver.common.utils.freeport

def free_port():
    free_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    free_socket.bind(('127.0.0.1', 0))
    free_socket.listen(5)
    port = free_socket.getsockname()[1]
    free_socket.close()
    return port 
EN

回答 2

Stack Overflow用户

发布于 2019-09-03 11:10:46

终端设置中的某些内容可能会影响网络。

尝试从终端启动PyCharm

代码语言:javascript
复制
open -a /Applications/PyCharm.app/

然后再运行测试,它应该会通过。

资料来源:@CrazyCoder评论摘要

票数 1
EN

Stack Overflow用户

发布于 2015-04-01 21:18:22

尝试安装带有npm:https://www.npmjs.com/package/phantomjs的幻影。我使用Mac,selenium和django也使用了类似的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17827448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档