TypeError:“WebElement"对象不是可迭代的错误

2022-01-15 00:00:00 python selenium-chromedriver

问题描述

我正在尝试从维基百科主页中提取所有链接,但此代码显示 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 文档

相关文章