当前位置: 首页 > 面试题库 >

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

帅令雪
2023-03-14
问题内容

我正在尝试从Wikipedia主页提取所有链接,但是此代码显示TypeError:“ WebElement”对象不是可迭代的错误。

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列表。

解决方案:替换find_element_by_xpathfind_elements_by_xpath

参考:Selenium-Python文档



 类似资料:
  • 问题内容: 我正在尝试在python中使用pyodbc运行SQL命令。其中SQL命令包含多个SELECT命令和IF语句。 但我收到如下错误 问题答案: 包含多个SQL语句的SQL命令文本称为 匿名代码块 。匿名代码块可以返回多个结果,每个结果可以是 行数 包含零个或多个数据行的结果集,或 一个错误。 以下示例失败… …,因为第一个返回行计数,第二个返回其结果集。 解决方法是启动匿名代码块,该代码块

  • 问题内容: 我正在尝试编写一个程序,该程序允许您输入班级中的学生人数,然后为每个学生输入3个测试成绩以计算平均值。我是编程新手,但会不断收到错误消息,我不了解它的含义或解决方法。这是我到目前为止所拥有的: 问题答案: 当你写 您的意图是“运行这段代码时间,我刚才输入的值在哪里”。但是在Python,你传递给事情一个声明需求是某种迭代对象的。在这种情况下,您想要的只是一个statement。这将生成

  • 问题内容: 我正在尝试迭代由numpy.linspace生成的值的数组: 这段代码在我的办公室计算机上工作正常,但是今天早上我坐下来在另一台机器上在家工作,出现了此错误: 只是一个浮点数数组,脚本在打印内容时没有问题-只是显然对它们进行了迭代。关于导致它损坏的原因的任何建议以及可能的解决方法? 问题答案: 给您一维NumPy数组。例如: 因此: 无法工作。您将需要某种二维数组,在第二维中具有两个元

  • 问题内容: 我正在尝试运行一个for循环。这是我遇到问题的代码部分: 因此,我的目的是遍历aldurstengd_ororka,对于字典中的每个“年龄”元组,我为元组中的每个“项目”运行另一个for循环。我得到的错误是 TypeError:“ int”对象不可迭代 问题答案: 如果是字典,则此表达式: 是一个错误。也许您的意思是: 编辑:您看到的错误是非常有趣的,我确实使用此代码段重现了它: 代码

  • 问题内容: …引发错误: 我想通过将每个数字相加来找出总数,例如110。1 + 1 + 0 =2。我该怎么做? 谢谢 问题答案: 首先,不要再调用-您正在将字符串转换为整数,这不是您想要的(您希望将每个字符视为自己的数字)。更改: 至: 现在这是一个数字字符串,您可以逐个数字地对其进行循环。 接下来,将一些初始值分配给-就像您现在的代码一样,由于您从未初始化它,因此将获得一个。大概您想在循环之前。

  • mapMap.map(i => i * 30); const mapReduce = Immutable.Map({ a: 10, b: 20, c: 30 });