社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Selenium/Python TypeError:“WebElement”对象不可iterable

Bronson77 • 5 年前 • 1551 次点击  

find_element 一次,不是 find_elements 因为只有一个实例:

<div>
  <span class="test">2</span>
</div>

下面是我正在使用的python代码,它正在生成“WebElement”对象不可iterable”错误。

test = driver.find_element_by_xpath("/html/body/div")

for numberText in test:
numberTexts = numberText.find_element_by_class_name("test")

print(numberTexts.txt)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54945
 
1551 次点击  
文章 [ 3 ]  |  最新文章 5 年前
Corey Goldberg
Reply   •   1 楼
Corey Goldberg    6 年前

错误很明显。。。 find_element_by_xpath 是一个 WebElement . 你不能重复 ...

element = driver.find_element_by_class_name("test")
print(element.text)
SanV
Reply   •   2 楼
SanV    6 年前

单个元素将不可iterable。尝试按xpath(复数元素)查找元素。

如果只有一个实例,那么只需使用它而不使用for循环。

heemayl
Reply   •   3 楼
heemayl    6 年前

通过以下方法获得单个元素(第一个元素):

driver.find_element_by_xpath("/html/body/div")

这显然是不可接受的。

对于多个元素,即要获得iterable,请使用:

driver.find_elements_by_xpath("/html/body/div")

注意 s element .

还可以查看 documentation