【问题标题】:Loop list in Python SeleniumPython Selenium 中的循环列表
【发布时间】:2020-12-20 14:41:39
【问题描述】:

我有一个主页,其中有 5 个其他页面的链接,这些页面具有以下从 tr[1] 到 tr[5] 的 xpath。

/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[1]/td[3]/div[1]/a
/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[2]/td[3]/div[1]/a
/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[3]/td[3]/div[1]/a
/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[4]/td[3]/div[1]/a
/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[5]/td[3]/div[1]/a

在每个页面中,我都有以下操作:

driver.find_element_by_name('key').send_keys('test_1')

driver.find_element_by_name('i18n[en_EN][value]').send_keys('Test 1')

# and at the end this takes me back to the main page again
driver.find_element_by_xpath('/html/body/div[3]/div[2]/div/div[3]/div/ul/li[2]/a').click()

如何进行迭代,以便脚本遍历所有 5 个页面并执行上述操作。尝试循环,但我想我没有做对......任何帮助将不胜感激。

【问题讨论】:

  • 你尝试了什么?分享一些代码

标签: python selenium loops for-loop


【解决方案1】:

你可以试试这个:

xpath = '/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[{}]/td[3]/div[1]/a'

for i in range(1, 6):
    driver.find_element_by_xpath(xpath.format(i)).click()

【讨论】:

    【解决方案2】:

    似乎我想通了,所以这里是现在对我有用的答案。

    wls = ['/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[1]/td[3]/div[1]/a',
           '/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[2]/td[3]/div[1]/a',
           '/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[3]/td[3]/div[1]/a',
           '/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[4]/td[3]/div[1]/a',
           '/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[5]/td[3]/div[1]/a']
    
    for i in wls:
        driver.find_element_by_xpath(i).click()
    

    【讨论】:

      【解决方案3】:

      下面

      template = '/html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[{}]/td[3]/div[1]/a'
      for x in range(1,6):
          a = template.format(x)
          print(a)
          # do what you need to do with the 'a' element.
      

      输出

      /html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[1]/td[3]/div[1]/a
      /html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[2]/td[3]/div[1]/a
      /html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[3]/td[3]/div[1]/a
      /html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[4]/td[3]/div[1]/a
      /html/body/div[3]/div[2]/div/div[5]/div/div[2]/table/tbody/tr[5]/td[3]/div[1]/a
      

      【讨论】:

        猜你喜欢
        • 2022-11-13
        • 2020-02-17
        • 2022-06-11
        • 1970-01-01
        • 2021-02-24
        • 2020-05-29
        • 1970-01-01
        • 2017-09-09
        相关资源
        最近更新 更多