python - 如何在条件为真时至少执行一次循环操作

标签 python for-loop while-loop pagination do-while

我正在寻找一个与 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/

相关文章:

ios - 使用 for 循环更改 UIButton 标题或设置 UILabel 文本

bash - 我的 WHILE-DO 循环出了什么问题,或者为什么我的脚本找不到我在盘子上提供的文件?

php - MySQL根据结果数进行连接

python - 在类中使用 execfile 获取参数时出现问题

python - Pandas ffill 限制组 nan 仅小于限制

javascript - 循环数组并打印值

matlab - 在 matlab for loop 中测试迭代值失败?

python - 如果要计数的值位于另一只 Pandas 数据框中(以一种更快的方式),如何计算值的出现?

python - Azure 上的 Django Postgres 客户端

c - 魔法8球的循环有一个错误