本文介绍了TypeError:“WebElement"对象不是可迭代的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从维基百科主页中提取所有链接,但此代码显示 TypeError: 'WebElement' object is not iterable error.

I am trying to extract all the links from wikipedia homepage but this code showing TypeError: 'WebElement' object is not iterable error.

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser=webdriver.Chrome()
browser.get('https://en.wikipedia.org/wiki/Main_Page')
search=[]
search=browser.find_element_by_xpath('//*[@href]')


for ii in search:
  print(ii.get_attribute('href'))

time.sleep(4)
browser.close()  

推荐答案

问题是你使用的 find_element_by_xpath 只返回一个 WebElement(不可迭代),find_elements_by_xpath 返回一个 WebElement 列表.

The problem is that you are using find_element_by_xpath which return only one WebElement (which is not iterable), the find_elements_by_xpath return a list of WebElements.

解决方法:将 find_element_by_xpath 替换为 find_elements_by_xpath

Solution: replace find_element_by_xpath with find_elements_by_xpath

参考:selenium-python 文档

这篇关于TypeError:“WebElement"对象不是可迭代的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 00:30