AttributeError:“str”对象没有属性“text”错误

2024-04-27 03:06:53 发布

您现在位置:Python中文网/ 问答频道 /正文

得到: AttributeError:“str”对象没有以下块的属性“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)正在返回正确的值:版本:1.2.0.133

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

正在用else print FAIL value向我发送垃圾邮件

另外,如果使用.text进行EC等待,也会返回一个错误

多谢各位


Tags: textidifisversionstep错误pass
2条回答

我相信你的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语句中,打印“步骤46”。NAS版本不正确-失败'。这就是为什么你会在循环中得到这个信息。至于你问题标题中提到的错误,我对问题是什么感到困惑,因为你说print(version)返回正确的值

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

相关问题 更多 >