AttributeError: 'str' object has no attribute 'text' error

AttributeError: 'str' object has no attribute 'text' error

得到: AttributeError: 'str' object has no attribute 'text' 以下块的错误:

 `version = driver.find_element_by_id('com.project.PROJECT:id/version').text
  print(version)
  for i in version:
     if 'Version : 1.2.0.133' == str(i):
         print('Step 46. NAS version is displayed correctly - PASS')
     else:
          print('Step 46. NAS version is incorrect - Fail')
 time.sleep(2)
 pass`

也尝试过:if 'Version : 1.2.0.133' == i.text

还是不行。

print(version) 是 return 正确的值:版本:1.2.0.133

但是我无法打印 if value is true: print('Step 46. NAS version is displayed correctly - PASS')

else print FAIL value

向我发送垃圾邮件

此外,如果我使用 .text 进行 EC 等待,也会 return 出错。

谢谢

我相信你的 version 变量是一个字符串,所以当你写

for i in version:
     if 'Version : 1.2.0.133' == str(i):
         print('Step 46. NAS version is displayed correctly - PASS')
     else:
          print('Step 46. NAS version is incorrect - Fail')

您实际上是在遍历字符串中的每个字符。所以 str(i) 将是一个永远不会等于 'Version : 1.2.0.133' 的单个字符,所以你总是陷入 else 语句,打印 'Step 46. NAS version is incorrect - Fail'。这就是为什么您会循环收到该消息的原因。至于你的问题标题中提到的错误,我对问题是什么感到困惑,因为你说 print(version) returns 是正确的值。

我相信 driver.find_element_by_id('com.project.PROJECT:id/version') returns 一个 str 对象,它没有 .text 属性。尝试从代码的第一行中删除 .text