2

我尝试按如下方式遍历 Xpath:

for i in range (1,9):
     xpath = '/ html / body / div / div / div / main / section / div 
              / div [2] / div / div [1] / div [2] /
              div [1] / table / tbody / tr [1] /td[{1}]'.format(i)

     element = driver.find_element_by_xpath (xpath) .get_attribute ('tabindex')
     print (element)

不幸的是,这似乎不起作用,并导致以下错误消息:

Traceback(最近一次通话最后一次):
文件“/Users/marcel/PycharmProjects/AusarbeitungGetter/Ausarbeitung/Au​​sarbeitung/spiders/Getter.py”,第 12 行,位于
xpath='/html/body/div/div/div/main/ section/div/div[2]/div/div[1]/div[2]/div[1]/table/tbody/tr[1]/td[{1}]'.format(i)
IndexError: tuple索引超出范围

我还想知道我是否可以迭代两个数字,以便我可以为最后一个td [i]和最后一个使用变量tr [j]

4

1 回答 1

2

因为您访问的是 index 1 而不是格式中的 index 0 。在括号之间使用 0 或仅使用括号,因为它将默认为第一个输入。

xpath = '/ html / body / div / div / div / main / section / div 
          / div [2] / div / div [1] / div [2] /
          div [1] / table / tbody / tr [1] /td[{0}]'.format(i)
于 2020-02-10T19:27:40.917 回答