Firefox Selenium WebDriverException:已到达错误页

Firefox Selenium WebDriverException:已到达错误页,firefox,selenium-webdriver,python-3.6,django-1.8,Firefox,Selenium Webdriver,Python 3.6,Django 1.8,我正在关注Django TDD教程: 在启动开发服务器“python manage.py runserver”前后运行“all_users.py”时,出现以下错误: 回溯(最近一次呼叫最后一次): 文件“functional_tests/all_users.py”,第15行,在test_it_worked中 self.browser.get(“”) get中的文件“/Users/samgao/.virtualenvs/tb_test/lib/python3.6/site->packages/s

我正在关注Django TDD教程:

在启动开发服务器“python manage.py runserver”前后运行“all_users.py”时,出现以下错误:

回溯(最近一次呼叫最后一次): 文件“functional_tests/all_users.py”,第15行,在test_it_worked中 self.browser.get(“”) get中的文件“/Users/samgao/.virtualenvs/tb_test/lib/python3.6/site->packages/selenium/webdriver/remote/webdriver.py”,第264行 self.execute(Command.GET,{'url':url}) 文件“/Users/samgao/.virtualenvs/tb_test/lib/python3.6/site->packages/selenium/webdriver/remote/webdriver.py”,执行中第252行 self.error\u handler.check\u响应(响应) 文件“/Users/samgao/.virtualenvs/tb\u test/lib/python3.6/site->packages/selenium/webdriver/remote/errorhandler.py”,第194行,在check\u响应中 引发异常类(消息、屏幕、堆栈跟踪) selenium.common.exceptions.WebDriverException:消息:到达错误页面:>关于:neterror?e=connectionFailure&u=http%3A//localhost%3A8000/&c=UTF->8&f=regular&d=Firefox%20can%E2%80%99t%20建立%20a%20到%20s>Server%20at%20localhost%3A8000的连接

基本上无法建立到本地主机的连接。
设置和配置与上一链接中的教程相同


我已经为这个问题挣扎了两天,如果您能提供任何帮助,我将非常感谢您。

因为这是“服从测试羊”的快照(大约在Django 1.8的时间),可能那里的说明不再相关。我建议重新开始


该问题可能与VirtualEnvrapper(不再需要)有关,也可能与您尝试访问的端口/地址有关。取决于您的Selenium和Firefox版本。

我遇到了相同的问题,最终的解决方案是:重新安装

  • 解压缩geckodriver.zip
  • 将文件移动到
    /usr/bin
    目录
    sudo mv geckodriver/usr/bin
  • 转到/usr/bin目录cd/usr/bin,然后需要运行类似于
    sudochmoda+xgeckodriver
    的程序来标记它为可执行

  • 这可能不是您的情况,但我在运行测试(同一本书,呵呵)时收到了相同的错误消息,而在目标端口上没有任何实际侦听(在我的例子中是8000)。通过手动打开浏览器并转到localhost:8000,确保有东西在侦听请求。在我的情况下-愚蠢的我-我根本没有启动服务器=)

    我遇到了相同的错误,解决的问题是从localhost更改为127.0.0.1:

    • 旧版
      self.browser.get('http://localhost:8000)

    • 更好
      self.browser.get('http://127.0.0.1:8000)


    我也遵循了相同的教程,遇到了相同的错误。我注意到我没有运行django服务器。以下是有帮助的

    python manage.py runserver
    python functional_test.py
    

    这要视情况而定

    基于我的,在我更改了目标URL后,我可以让浏览器正常加载URL,这意味着原始URL不可用

    另一种检查方法:

    import requests
    html = request.get(url)
    

    打印HTML,如果你得到503,这意味着该网站是可访问的。

    顺便说一句,它不适合我,它需要www:这对我有用。我激活了virtualenv,django服务器正在运行,但仍然出现了错误。Firefox启动,尝试访问
    http://localhost:8000
    ,失败,因此selenium引发异常。但是当我手动刷新浏览器时,页面会加载。如果我将代码更改为do
    self.browser.get('http://127.0.0.1:8000”)
    ,正如您所建议的,页面第一次加载,不会引发异常,测试通过。奇怪的我想知道Chrome而不是Firefox是否也会发生同样的情况?