首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >selenium webdriver如何通过类名获取数据?

selenium webdriver如何通过类名获取数据?
EN

Stack Overflow用户
提问于 2020-03-31 19:56:47
回答 2查看 254关注 0票数 0
代码语言:javascript
运行
复制
<li class='temp'> text1 </li>
<li class='temp'> text2 </li>
<li class='temp'> text3 </li>

在这段代码中,我想收集所有有“temp”类的文本。

代码语言:javascript
运行
复制
driver.find_element_by_class_name('temp').text

但是这段代码只获取text1。如何使用webdriver获取所有文本?

EN

回答 2

Stack Overflow用户

发布于 2020-03-31 20:10:42

如果页面中有多个元素具有相同的条件,则.find_element引用第一个元素。

您可以使用.find_elements收集as列表,并使用循环提取它:

代码语言:javascript
运行
复制
elements = driver.find_elements_by_class_name('temp')
for element in elements:
    element.text

或者,您可以使用ul标记作为父标记来获取li的所有文本:

代码语言:javascript
运行
复制
<ul class='...'>
    <li class='temp'> text1 </li>
    <li class='temp'> text2 </li>
    <li class='temp'> text3 </li>
</ul>

使用.find_element,但请找到引用ul的元素。

票数 0
EN

Stack Overflow用户

发布于 2020-03-31 22:51:11

我相信它是有效的。请试一下这个。

代码语言:javascript
运行
复制
from selenium.webdriver.common.by import By


driver.find_elements(By.CLASS_NAME, 'temp')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60950023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档