首页 新闻 会员 周边

python print一个变量后,这个变量才有值

0
悬赏园豆:30 [已解决问题] 解决于 2022-05-12 09:29

用selenium模块操作浏览器,取出了一个元素的text值,然后需要对这个值做判断,直接判断是不准确的,需要先print()再进行判断才准确,这是什么原因?
代码如下:
aaa = driver.find_element_by_xpath('xxxxx').text # 输出"one world, one dream"
if 'world' in aaa:
print('in')
else:
print('not in')
这里输出的是not in,很明显这个判断不准确。

代码修改后:
aaa = driver.find_element_by_xpath('xxxxx').text # 输出"one world, one dream"
print(aaa) # 这里先打印一下aaa变量,后面的if判断就准确了
if 'world' in aaa:
print('in')
else:
print('not in')
这里输出的是in , 这里判断就准确

大胡子_老爹的主页 大胡子_老爹 | 初学一级 | 园豆:175
提问于:2022-04-27 09:51

确定不是巧合?

会长 1年前

@会长: 不是巧合,试了好多次都是这样

大胡子_老爹 1年前

@大胡子_老爹: 看上去很神奇

会长 1年前

@会长: 是的,挺奇怪的,前面需要先使用下这个变量,后面的判断才准确

大胡子_老爹 1年前
< >
分享
最佳答案
0

把print(aaa)换成 time.sleep(1) 试试

收获园豆:30
twfb | 菜鸟二级 |园豆:232 | 2022-04-29 09:27

好的,上班了试一下

大胡子_老爹 | 园豆:175 (初学一级) | 2022-04-30 17:45

试了一下,可以了,谢谢大神

大胡子_老爹 | 园豆:175 (初学一级) | 2022-05-12 09:27
其他回答(1)
0

按你描述的输出来看,应该是类型问题;你断点或 print(type(aaa)) 看看

〆灬丶 | 园豆:2287 (老鸟四级) | 2022-04-27 11:19

类型打印了一下,是str类型

支持(0) 反对(0) 大胡子_老爹 | 园豆:175 (初学一级) | 2022-04-27 13:49

@大胡子_老爹: xpath 提取后就一直是 str 吗?那就不知道了,好久没玩 selenium

支持(0) 反对(0) 〆灬丶 | 园豆:2287 (老鸟四级) | 2022-04-27 13:51

@〆灬丶: 是的,提取后就是str

支持(0) 反对(0) 大胡子_老爹 | 园豆:175 (初学一级) | 2022-04-27 14:17

@大胡子_老爹: 我宁愿相信是 idea 或哪里缓存导致的,你找到原因了记得更新一下

支持(0) 反对(0) 〆灬丶 | 园豆:2287 (老鸟四级) | 2022-04-28 10:54

@〆灬丶: 好的

支持(0) 反对(0) 大胡子_老爹 | 园豆:175 (初学一级) | 2022-04-28 11:18

按楼下大神的方法可以了,获取元素后加了time.sleep(1),然后对获取的内容进行判断就正常了。

支持(0) 反对(0) 大胡子_老爹 | 园豆:175 (初学一级) | 2022-05-12 09:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册