【问题标题】:How do i increase the value of an variable in a command line?如何在命令行中增加变量的值?
【发布时间】:2021-03-19 19:59:39
【问题描述】:
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)

【问题讨论】:

  • 很确定a 确实增加了。你怎么知道没有?
  • 您收到的错误信息是什么?
  • 为什么需要一个单独的变量? for a in range(1, 6):
  • 你也可以把所有的按钮放到一个列表中然后循环遍历,而不是重复调用find_element_by_xpath()
  • 我没有收到任何错误信息

标签: python html variables web-scraping range


【解决方案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 完全符合您的需要。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      除非您打算将第二个变量用于某事,否则您实际上并不需要两个变量。但是,看看下面的代码,它会告诉你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 here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-17
        • 2013-09-21
        • 2019-08-24
        • 2016-12-23
        • 1970-01-01
        • 1970-01-01
        • 2013-10-23
        • 1970-01-01
        相关资源
        最近更新 更多