Selenium:find_element_by_link_text - TypeError:'WebElement'类型的对象没有len()

nit*_*chi 2 django selenium

我正在为Django做一个测试开发教程. http://www.tdd-django-tutorial.com/tutorial/1/

当我运行测试时,我遇到了find_element_by_link_text的问题.错误显示:

find_element_by_link_text - TypeError: Object of type 'WebElement' has no len()
Run Code Online (Sandbox Code Playgroud)

失败的部分测试是这样的:

    polls_links = self.browser.find_element_by_link_text('Polls')
    self.assertEquals(len(polls_links), 2)
Run Code Online (Sandbox Code Playgroud)

如果删除这些行,测试工作正常,则在管理员上添加Polls模型.在管理站点中,在Selenium测试期间,有2个链接带有"民意调查"文本.

问题似乎不是它没有识别它们,问题似乎是find_element_by_link_text返回...我不知道

谁能指出我正确的方向?我做了一些研究,显然它与Firefox的Selenium驱动程序有关,但我无法清除它.

Luc*_*cas 9

它的

polls_links = self.browser.find_elements_by_link_text('Polls')
Run Code Online (Sandbox Code Playgroud)

elements(带有s)而不是element

  • 这是正确的答案,find_element_by_link_text期望一组一个,而find_elements_by_link_text期望一组一个或多个 (2认同)