TypeError:' WebElement' object不是可迭代的错误

时间:2016-09-15 21:10:36

标签: python selenium-chromedriver

我正在尝试从维基百科主页中提取所有链接,但此代码显示TypeError:' WebElement' object不是可迭代的错误。

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()  

2 个答案:

答案 0 :(得分:35)

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

解决方案:将find_element_by_xpath替换为find_elements_by_xpath

Reference: selenium-python docs

答案 1 :(得分:1)

下面的代码对我有用。

from selenium import webdriver
driver=webdriver.Firefox()
driver.get("https://www.google.co.in/")
list_links=driver.find_elements_by_tag_name('a')

for i in list_links:
    print i.get_attribute('href')