selenium 3.0.2
safari 10 (using built in safari driver)
python 2.7.10
OSX 10.11.16(El Capitan)
如何執行按鍵事件(左/右/上/下)不止一次使用 send_keys(Keys.Right)(即試圖使用按鍵重複按鍵操作移動焦點)如何在safari中執行相同的按鍵事件?
實施例:無法使用代碼波紋管進入右鍵三次。
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT)
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT)
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT)
目前沒有錯誤,只是第二個按鍵事件沒有被執行。但是,如果在序列中發送了另一個方向鍵,則該方向鍵可以正常工作,但是一旦使用了按鍵方向,則相同的方向鍵在同一個safari驅動程序會話中不起作用。
示例:如果下面是在序列中的單個的Safari驅動會話執行,則:
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT) #Works
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT) #Doesn't Work
driver.find_element_by_xpath("//body").send_keys(Keys.LEFT) #Works
driver.find_element_by_xpath("//body").send_keys(Keys.LEFT) #Doesn't Work
實施例:
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT) #Works
driver.find_element_by_xpath("//body").send_keys(Keys.LEFT) #Works
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT) #Doesn't Work
driver.find_element_by_xpath("//body").send_keys(Keys.UP) #Works
driver.find_element_by_xpath("//body").send_keys(Keys.LEFT) #Doesn't Works
預期結果:焦點應該在相同的方向上移動儘可能多的次發送鍵方法被調用。 婁按鍵事件應在safari10瀏覽器中選擇移動到右邊的三個選擇和兩個選擇往下兩個選擇到左。
實施例:
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT)
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT)
driver.find_element_by_xpath("//body").send_keys(Keys.RIGHT)
driver.find_element_by_xpath("//body").send_keys(Keys.DOWN)
driver.find_element_by_xpath("//body").send_keys(Keys.DOWN)
driver.find_element_by_xpath("//body").send_keys(Keys.LEFT)
driver.find_element_by_xpath("//body").send_keys(Keys.LEFT)
實際結果: 焦點將向右移動一次。第二次按鍵甚至不會移動焦點,如果它在相同的方向。
注:上面的示例和步驟,工作正常的Firefox瀏覽器。
你見過auto.py還是機器人? – Hum4n01d
還沒有嘗試過,使用python的UnitTest框架。 –