2017-09-15 203 views
0

我想選擇列表中的前100個元素,所以我用戶操作鏈方法。 請建議任何其他方法,如果有的話。隨着我下面使用的代碼,我可以選擇列表中的元素,但我不能點擊任一元素:發送按鍵Ctrl + Shift +用Python單擊Selenium

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

這是一個選擇的標籤,你可以使用Python選擇班級去。

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個元素,然後單擊每個元素 –

相關問題