**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我有一个很奇怪的问题。我正在用python编写一个webbot,我想浏览一个元素列表,看看它们是否包含一个M。为此,我编写了以下for循环:
elements = driver.find_elements(By.CLASS_NAME, "small-margin-top")
for element in elements:
print(element.text)
if 'M' in element.text:
print("yes")
else:
print("no")
如果你看一下循环,你会认为文本首先是为每个元素打印的,然后是它是否包含M。但是,所有element.text都将首先打印,最后打印一个Yes。为什么?
更新:似乎问题出在元素列表上,它只包含1个对象。但我仍然不知道如何修复它。在官方的selenium文档中,他们和我一样使用它。
elements = driver.find_elements(By.TAG_NAME, 'p')
for e in elements:
print(e.text)
1条答案
按热度按时间7hiiyaii1#
所有的元素.text都被打印出来,因为for循环对每个元素都有效。
如果你想阻止的话。请导入元素.文本静态.条件'M'为真,所以输出是+问题是你定义了文本格式的元素,这会导致错误,因为你已经定义了它为文本
试试这些:-
注意:-你可以使用element.text.contains()方法不能在这里使用,因为它将返回“True”,并且由于if语句,在这种情况下它不应该是可执行的。