【问题标题】:python selenium cant iterate through elementspython selenium 无法遍历元素
【发布时间】:2016-12-23 05:41:16
【问题描述】:

试图通过一个类的索引来遍历一个元素列表。每次尝试索引都不会增加。在 %s 周围添加引号会产生无效的语法错误。

 lengeItem = len(driver.find_elements_by_xpath('//td[@class="baobab"]'))
 i=1
 for i in range(lengeItem):
        Domaino = driver.find_element_by_xpath("//td[@class='baobab']['%s']/p/a" % i).text
        print (Domaino)


        print (Domaino)

【问题讨论】:

  • 请注意,在迭代之前将 i 设置为 1 什么都不做。而那个特定的迭代,你设置它的方式将从零开始。
  • 你期望['%s+'] 的输出是什么?
  • 抱歉打错了

标签: python python-2.7 loops selenium


【解决方案1】:

i 是整数,你需要使用 %d,而不是 %s 并且不要用引号括起来,这应该可以:[%d]

 els = driver.find_elements_by_xpath('//td[@class="baobab"]')
 for i, el in enumerate(els):
        print driver.find_element_by_xpath("//td[@class='baobab'][%d]/p/a" % (i + 1)).text

【讨论】:

    【解决方案2】:

    回答:find_element_by_xpath("//td[@class='baobab'][%s]/p/a" % i).text

    如果 i 是 1,那么 %s 就是 '1'。由于您正在尝试使用字符串 td[@class='baobab']['1'] 进行索引,这会引发错误。应该是td[@class='baobab'][1]

    【讨论】:

      猜你喜欢
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      相关资源
      最近更新 更多