2017-12-05 1 views
0

을 가진 XPath를 반복하는 방법 어떻게 xpath이 같은 ID를 가진 반복하는는 동일한 ID

내 코드 :

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

질문은 무엇을 반환? 'j' 란 무엇입니까? 당신이하려는 일은 무엇입니까? – Andersson

답변

0

변수 대신 문자로 j을 문자의 일부로 저장하므로 j=j+1이 작동하지 않습니다. j의 값이 5 경우

'(//*[@id="questionsTable"]/tbody/tr[1]/td[2]/div/div/span[1]/input)[{0}]'.format(j) 

, 서식 문자열을 사용하여 XPath는에 j의 값을 추가

봅니다 위의 문자열 서식을

'(//*[@id="questionsTable"]/tbody/tr[1]/td[2]/div/div/span[1]/input)[5]'