为什么Selenium与PhantomJS返回错误的page_source?

时间:2015-02-09 08:38:26

标签: python unit-testing selenium phantomjs python-unittest

我正在使用Phantomjs webdriver从Python中获取selenium。我在笔记本电脑上本地运行Selenium和我的服务器。当我进行测试时:

class TestNotLoggedIn(unittest.TestCase):
    def setUp(self):
        app.config['TESTING'] = True
        app.config['CSRF_ENABLED'] = False

        self.driver = webdriver.PhantomJS()

    def test_frontpage(self):
        driver = self.driver
        driver.get('localhost:5000')
        print driver.page_source

它打印这个html源:

<html><head></head><body></body></html>

然而,当我在浏览器中转到localhost:5000时,我会获得完整的页面来源:

!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>MyWebsite</title>etc. etc.

有人知道我在这里做错了吗?

PS。我尝试添加service_args=['--ignore-ssl-errors=true']) as suggested here,但这没有任何区别。

1 个答案:

答案 0 :(得分:1)

事实证明,PhantomJS还需要定义http://。所以对于未来的读者(包括我自己):当获得这样的页面时,它就像一个魅力:

driver.get('http://localhost:5000')