Django、Firewalls、Selenium、[Errno 10061]和隐式的\u wait()

2024-05-23 19:47:26 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我对这个很好奇。在

我一直在用Django尝试TDD,并从Harry J.W.Percival的书中进行了一个练习,如下所示:

from selenium import webdriver
import unittest

class NewVisitorTest(unittest.TestCase):

    def setUp(self):
        self.browser = webdriver.Chrome()

    def tearDown(self):
        self.browser.quit()


    def test_can_start_list_and_retrieve_later(self):
        self.browser.get('http://localhost:8000')
        self.browser.implicitly_wait(3)

        self.assertIn('Django', self.browser.title)

看起来很简单。 除非我这次考试不及格:
error: [Errno 10061] No connection could be made because the target machine actively refused it

所以我相信我有某种防火墙(如果你能告诉我的话,我会很感激的)。然而,最奇怪的是: 但是,如果我运行脚本时省略了这一行:self.browser.implicitly_wait(3)

考试奇怪地通过了。在

当我没有通过测试时,Django会说:

^{pr2}$

如果这有任何关联:
操作系统为Windows 10 IDE是PyCharm社区(所以Django在powershell中运行) 测试框架是Unittest.py在


Tags: djangofromimportselfbrowserdefseleniumunittest
1条回答
网友
1楼 · 发布于 2024-05-23 19:47:26

Chrome需要与计算机上安装的Chrome版本匹配的特定驱动程序:

self.browser = webdriver.Chrome("/path/to/chromedriver")

下载chromedrive并将其从https://sites.google.com/a/chromium.org/chromedriver/downloads复制到“/path/to/chromedriver”

注意:对于Firefox,可以使用webdriver.Firefox()

相关问题 更多 >