繁体   English   中英

如何在命令行中增加变量的值?

[英]How do i increase the value of an variable in a command line?

a = 1
for i in range(5):
    browser.find_element_by_xpath("/html/body/div[6]/div/div/div[2]/div/div/div[1]/div[3]/button").click()
    sleep(1)

我想在每个循环中将 div[1] 中的 1 增加 1+,但我该怎么做呢?

我以为我需要添加一个值,执行“+a+”,最后一个“a = a + 1”以每次都增加值,但它没有用。

a = 1
for i in range(5):
    browser.find_element_by_xpath("/html/body/div[6]/div/div/div[2]/div/div/div["+a+"]/div[3]/button").click()
    a = a + 1
    sleep(1)
for i in range(1,6):
    browser.find_element_by_xpath("/html/body/div[6]/div/div/div[2]/div/div/div["+str(i)+"]/div[3]/button").click()
    sleep(1)

您不需要 2 个变量,只需要一个变量i在循环中,使用str()将其转换为字符串并将其添加到您需要的位置,非常简单。 i的值随着循环的每次迭代而增加,从 1 到 5 完全符合您的需要。

除了 Elyes 的回答,您可以在 function 顶部使用“全局”关键字,然后 a 应该“正确”递增。

除非您打算将第二个变量用于某事,否则您实际上并不需要两个变量。 但是,看看下面的代码,它会告诉你ia都会给你相同的结果:

from time import sleep

a = 1
for i in range(1, 6):
    path = "/html/body/div[6]/div/div/div[2]/div/div/div[{idx}]/div[3]/button".format(idx=i)
    print(path, 'using i')
    path = "/html/body/div[6]/div/div/div[2]/div/div/div[{idx}]/div[3]/button".format(idx=a)
    a += 1
    print(path, 'using a')
    sleep(1)

结果:

/html/body/div[6]/div/div/div[2]/div/div/div[1]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[1]/div[3]/button using a
/html/body/div[6]/div/div/div[2]/div/div/div[2]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[2]/div[3]/button using a
/html/body/div[6]/div/div/div[2]/div/div/div[3]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[3]/div[3]/button using a
/html/body/div[6]/div/div/div[2]/div/div/div[4]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[4]/div[3]/button using a
/html/body/div[6]/div/div/div[2]/div/div/div[5]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[5]/div[3]/button using a

你可以在这里阅读range

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM