Skip to main content
 首页 » 编程设计

python之使用 Selenium 从 div 获取文本

2025年05月04日20Terrylee

我正在使用 Selenium 和 Python 从页面中提取信息。

这是我要从中提取的div:

<div class="_2v66">5</div> 

我想提取值“5”。

这是我写的 Python:

element = browser.find_elements_by_class_name('_2v66').getText 
 
print('Views:') 
print(element) 

当我运行这个脚本时,我收到以下消息:

Traceback (most recent call last): 
  File "<string>", line 95, in <module> 
AttributeError: 'list' object has no attribute 'getText' 
[Finished in 15.478s] 

解决方法:

虽然我最初认为 div 类是唯一的,但在仔细检查页面后我意识到它不是唯一的 div 因此解决方案如下:

browser.get(('https://www.facebook.com/example_page_1/insights/?section=navVideos')) 
 
browser.implicitly_wait(60) 
 
# find_elements_by_class_name - Returns the div in which the metrics are found 
elements = browser.find_elements_by_class_name('_2v66') 
 
for e in elements: 
    print(e.text) 

browser.implicitly_wait 对于允许页面加载至关重要。我收到的关于不存在的对象的错误就是因为这个。

请您参考如下方法:

只使用.text

element = browser.find_element_by_class_name('_2v66').text 

如果有多个元素,则必须遍历它们。

elements = browser.find_elements_by_class_name('_2v66') 
for e in elements: 
    print(e.text)