Py学习  »  Python

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

Bronson77 • 4 年前 • 767 次点击  

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
 
767 次点击  
文章 [ 3 ]  |  最新文章 4 年前
Corey Goldberg
Reply   •   1 楼
Corey Goldberg    5 年前

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

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

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

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

heemayl
Reply   •   3 楼
heemayl    5 年前

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

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

这显然是不可接受的。

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

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

注意 s element .

还可以查看 documentation