1. 程式人生 > >selenium:2.selenium 鍵盤事件模擬

selenium:2.selenium 鍵盤事件模擬

     今晚不想加班,於是趕緊回來看看書,不知道今天怎麼就突然特別想玩文明五,但是又要剋制自己咯,所以還是看看書吧,乾的事情有:

   1.下了selenium的小工具:FireBug/FirePath。

   2.確定了看書順序,我覺得難度低點開始比較好,所以我還是先看基於PYTHON的selenium,另一本書再看把,覺得自己能力還是太弱,還是從友好的先上手,雖然之前也看了BY_ID的一些用法,但是真的實際做起來弱雞一個。

   3.學習了selenium 鍵盤事件模擬,其實在這之前把許久沒有開啟的虛擬機器打開了一次。。我連MAN都忘了,我的心很累。

   還是言歸正傳把,學點東西就說出來。還是呼叫鍵盤的API,我把東西先說出來

    send_keys(Keys.BACK_SPACE)                   刪除鍵

   中間插一句,今天這個大小寫搞的我灰頭苦臉的,改了好幾次指令碼才跑起來。

    send_keys(Keys.SPACE)                              空格鍵

    send_keys(Keys.TAB)                                   製表鍵

    send_keys(Keys.ESPACE)                            回退鍵

    send_keys(Keys.ENTER)                              回車鍵

    send_keys(Keys.CONTROL,'a')                     全選

    send_keys(Keys.CONTROL,'c')                     複製

    send_keys(Keys.CONTROL,'x')                     剪下

    send_keys(Keys.CONTROL,'v')                     貼上

    send_keys(Keys.F1)                                      F1

    個人覺得鍵盤事件還是挺實用的,如果你熟悉鍵盤操作,可以幹很多事情,很方便,下面是我的程式碼,基本把上面的都用了一遍。

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver=webdriver.Firefox()

driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("seleniumm")
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)

driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys("教程")

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')
driver.find_element_by_id("kw").send_keys(Keys.ENTER)