我正在寻找一个与 do while
等价的 Python 逻辑。其他语言中的循环。我有正在迭代的页面结果。结果结构:
1, 2, 3, 4 , ... NEXT
每个元素都有一个链接。只有最后一页没有NEXT
元素所以我已经确定了 NEXT
作为我迭代时需要检查的条件。
我已经使用以下方法识别了它:
next_link = driver.find_element_by_id('anch_25')
所以我有一个函数my_function()
我想在 next_link
的每个页面上运行存在,然后使用 click()
单击 next_link功能。如果该元素不存在,则意味着只有 1 页结果,或者我位于结果的最后一页。不管怎样,我还是想要my_function
在任何一种情况下都可以运行。
所以我有:
def my_function():
print "Another result page"
###This is where I am trying to loop through the results pages
next_link = driver.find_element_by_id('anch_25')
if next_link:
my_function()
next_link.click()
else:
my_function()
不幸的是,这仅适用于第一页,不能迭代其他页面。
这个我也试过
while next_link:
my_function()
next_link.click()
my_function()
似乎也不起作用。有什么建议吗?
最佳答案
您可以将 while
循环与默认设置为 True
的变量一起使用,并且根据您的情况,您可以将其更改为 True/False
。例如:
is_continue = True
while is_continue:
... # Your Logic
if my_condition:
is_continue = True
else:
is_continue = False
PS:我给你提供了示例,剩下的交给你来实现。因此,您可以根据自己的知识来实现它并了解其工作原理。
关于python - 如何在条件为真时至少执行一次循环操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39301041/