我正在尝试从加载了 JavaScript 内容的页面中抓取数据。比如我要的内容是这样的格式:
<span class="class">text</span>
...
<span class="class">more text</span>
我使用了 find_element_by_xpath(//span[@class="class"]').text
函数,但它只返回指定类的第一个实例。基本上,我想要一个像 [text, more text]
等的列表。我找到了 find_elements_by_xpath()
函数,但是 .text
在最终导致错误 exceptions.AttributeError: 'list' object has no attribute 'text'
。
最佳答案
find_element_by_xpath
返回一个元素,该元素具有 text
属性。
find_elements_by_xpath()
返回所有匹配的元素,这是一个列表,所以你需要遍历并获取每个元素的 text
属性。
all_spans = driver.find_elements_by_xpath("//span[@class='class']")
for span in all_spans:
print span.text
请引用 Selenium Python API 文档 here有关 find_elements_by_xpath(xpath)
的更多详细信息。
关于python - 从 Selenium for Python 中具有相同类的多个元素获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23924008/