我有一个<ol>
在我的 HTML 中列出,如下所示:
<ol id="search-results">
<li class="foo">-</li>
<li class="foo">-</li>
<li class="foo">-</li>
<li class="foo">-</li>
</ol>
我需要做的是验证<ol>
列表包含<li>
内的项目,即。搜索查询会得出实际结果。我当前的代码如下:
search_field = driver.find_element(By.NAME, 'query')
search_field.send_keys('Foo')
search_field.submit()
results_list = driver.find_element(By.ID, 'search-results')
assert len(results_list) > 0
但我得到了TypeError: object of type 'FirefoxWebElement' has no len()
当我运行它时出错。
有什么想法如何克服这个问题吗?
Your
driver.find_element(By.ID, 'search-results')
不返回列表,而是返回元素。如果您想要包含所有内容的列表li,你可以使用find_elements_by_xpath
.
尝试使用:
results_list = driver.find_elements_by_xpath("//ol[@id='search-results']/li[@class='foo']")
print(len(results_list))
assert len(results_list) > 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)