首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python "TypeError:'WebElement‘对象不可迭代“

Python "TypeError:'WebElement‘对象不可迭代“
EN

Stack Overflow用户
提问于 2021-10-20 14:04:32
回答 1查看 735关注 0票数 1

我需要帮助处理我的密码。我在python中使用Selenium。

代码语言:javascript
运行
复制
elems = driver.find_element_by_xpath("//article[@class='page-container']/section/div[3]") 

for job in elems:
  
   job_list.append(job.get_attribute('href')) 

print(job_list)
代码语言:javascript
运行
复制
The error is "TypeError: 'WebElement' object is not iterable".

我知道elems的结果是一个WebElement,但是我需要使用find_element_by_xpath,因为我想要一个特定的div,而这个div没有唯一的id。我没有找到一种方法来转换(例如)字符串中的WebElement。您是否知道有另一种方法来拥有这个特定的div,但不使用find_element_by_xpath呢?你还有别的主意来回避这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-20 14:10:34

代码语言:javascript
运行
复制
for job in elems:

如果您注意,编译器会认为elems是一个列表。

但是您已经将elems定义为

代码语言:javascript
运行
复制
elems = driver.find_element_by_xpath("//article[@class='page-container']/section/div[3]") 

它将返回一个WebElement而不是WebElement的列表。

问题解释:

注意,find_element_by_xpath返回一个web元素,其中find_elements_by_xpath返回一个列表。

Fix : (使用find_elements而不是find_element)

代码语言:javascript
运行
复制
elems = driver.find_elements_by_xpath("//article[@class='page-container']/section/div[3]") 

for job in elems:
    job_list.append(job.get_attribute('href')) 
print(job_list)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69647511

复制
相关文章

相似问题

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