私が持っている<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()
を実行するとエラーが発生します。
それを克服する方法はありますか?
君の
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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加