2017-09-15 3 views
0

목록의 첫 번째 요소 100 개를 선택하여 사용자 작업 체인 방법을 원합니다. 다른 방법이 있다면 제안하십시오. 나는 아래에 사용되는 코드로, 나는 목록에서 요소를 선택할 수 있지만 모든 요소를 ​​클릭 할 수없는입니다 :키를 보내려면 Ctrl 키를 누른 상태에서 Shift 키를 누른 상태에서 Selenium with Python을 클릭하십시오.

for r in range(1, 100): 
    r = str(r) 
    print r 
    row = GlobalVar.Driver.find_element_by_xpath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[2]/td/div/div[3]/table/tbody/tr[2]/td/table/tbody/tr/td[1]/table/tbody/tr[2]/td/select/option["+r+"]") 
    action_chains = ActionChains(GlobalVar.Driver) 
    action_chains.key_down(Keys.CONTROL).key_down(Keys.SHIFT).click(row).key_up(Keys.SHIFT).key_up(Keys.CONTROL).perform() 

Screenshot

+0

동일한 HTML 코드를 공유 할 수 있습니까? – Murthi

+0

예. 나는 그 스크린 샷을 찍었습니다. –

+0

여기를 참고하십시오 [여기에 이미지 설명을 입력하십시오] [1] [1] : https://i.stack.imgur.com/O5z3P.png –

답변

0

그것은 당신이 파이썬에서 선택 클래스와 select 태그 갈 수됩니다 .

ele = GlobalVar.Driver.find_element_by_xpath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[2]/td/div/div[3]/table/tbody/tr[2]/td/table/tbody/tr/td[1]/table/tbody/tr[2]/td/select") 

select = Select(ele) 

for index in range(1, 100): 
    select.select_by_index(index) 

절대 xpath를 사용하지 않는 것이 좋습니다. 가능한 경우 상대 경로 또는 다른 로케이터 유형을 사용해보십시오.

+0

해답을 알려주지 만 선택하겠습니다. Ctrl + Shift + 클릭 만 사용하십시오. 테스트 케이스가 비슷하기 때문에 –

+0

수동 테스트 케이스를 의미합니까? 그리고 첫 번째 100 개 옵션을 선택하거나 테스트 단계를 그대로 따르십시오. – Murthi

+0

네, 테스트 케이스를 자동화해야하므로 Ctrl + Shift +를 사용하여 목록의 처음 100 개 요소를 선택한 다음 각 요소를 클릭하면됩니다. –

관련 문제