如何迭代具有相同ID的xpath
我的代码:
if data3 == 'Passed':
elem2 = driver.find_elements_by_xpath('(//*[@id="questionsTable"]/tbody/tr[1]/td[2]/div/div/span[1]/input)[1]')
for span in elem2:
span.click()
print(data3)~working
if data3 == 'Passed':
elem2 = driver.find_elements_by_xpath('(//*[@id="questionsTable"]/tbody/tr[1]/td[2]/div/div/span[1]/input)[j]')
for span in elem2:
span.click()
print(data3)
j=j+1
〜无法正常工作
并且代码需要更多时间来执行,但第一种方法不是。
答案 0 :(得分:0)
您将j
作为字母的一部分存储为字母而非变量,因此j=j+1
将无效。
尝试使用字符串格式
将j
的值添加到xpath
'(//*[@id="questionsTable"]/tbody/tr[1]/td[2]/div/div/span[1]/input)[{0}]'.format(j)
如果j
的值为5
,则上述字符串格式将返回
'(//*[@id="questionsTable"]/tbody/tr[1]/td[2]/div/div/span[1]/input)[5]'