首页 > 解决方案 > 在 Python Selenium 上查找元素 - 短一个元素

问题描述

我在 selenium 上的“find_elements_by_css_selector”函数上看到了一个非常奇怪的错误。应用一个应该返回 10 个元素的选择器,它会返回 9 个元素,这在我尝试的所有不同页面示例中都是一致的。我用javascript“querySelectorAll”测试过的选择器确实返回了10,所以css选择器工作正常。

有人也有这个“一个元素短”的错误吗?

标签: javascriptpythoncssseleniumscreen-scraping

解决方案


这是测试:

css = 'a[href]' # your css goes here
elements = driver.find_elements_by_css_selector(css)
print(len(elements))

elements = driver.execute_script("""
  return [...document.querySelectorAll(arguments[0])]
""", css)
print(len(elements))

我很想知道这些数字是否真的不同。如果是这样,您发现了一个错误。


推荐阅读