Python Webdriver API


每日一小步.png

一钩骇、基本知識

以下是打開瀏覽器鏈接和關(guān)閉的最基本的操作了倘屹,這里會出現(xiàn)問題的也可以留言@me哦~

1纽匙、from selenium import webdriver  #導(dǎo)入webdriver函數(shù)之后還有些是函數(shù)中的某些類
2、driver = webdriver.Chrome() #規(guī)定運行腳本的瀏覽器践瓷,自己下載驅(qū)動并配置環(huán)境變量
3晕翠、driver.get("http://www.baidu.com") #打開測試的鏈接
4崖面、driver.quit() #退出瀏覽器

二巫员、操作測試對象

根據(jù)不同的事件來定位元素可參見我的另一篇文章:
selenium篇(二)之簡單的對象(元素)定位

1、driver.find_element_by_id("kw").clear() #清除輸入框內(nèi)的內(nèi)容
   driver.find_element_by_id("kw").send_keys("selenium") #輸入框輸入內(nèi)容
2奢赂、driver.find_element_by_id("su").click() #點擊按鈕
3颈走、driver.find_element_by_id("su").submit() #提交表單

三立由、其他常見操作

1毕箍、import time #調(diào)入時間函數(shù)
time.sleep(3) #休眠三秒
2、driver.implicitly_wait(30) #智能等待30秒
3荷逞、driver.maximize_window() #最大化瀏覽器窗口
driver.set_window_size(1280,960) #設(shè)置瀏覽器的長寬
4颅围、driver.forward() #前進到下一個頁面
driver.back() #后退到上一個頁面


###四院促、鍵盤事件
>- 基本引用

from selenium.webdriver.common.keys import Keys #引入keys函數(shù)
通過send_keys來調(diào)用按鍵的名稱(按鍵名大寫)辉浦,例如:
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").send_keys(Keys.ENTER)

- 鍵盤按鍵的用法

--coding:utf-8--

from selenium import webdriver
from selenium.webdriver.common.keys import Keys #引入keys包
import time #添加時間函數(shù)
browser=webdriver.Chrome()
browser.maximize_window()
time.sleep(3) #添加睡眠時間
browser.get("http://www.reibang.com/")
time.sleep(3)
browser.find_element_by_id("q").send_keys("selenium")
browser.find_element_by_id("q").send_keys(Keys.ENTER) #利用鍵盤enter鍵搜索內(nèi)容

- 鍵盤組合鍵用法

--coding:utf-8--

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
browser=webdriver.Chrome()
browser.maximize_window()
time.sleep(0.3)
browser.get("http://www.baidu.com")
time.sleep(0.3)
browser.find_element_by_id("kw").send_keys("selenium")
time.sleep(0.3)
browser.find_element_by_id("kw").send_keys(Keys.CONTROL,'a') #ctrl+A全選
time.sleep(0.3)
browser.find_element_by_id("kw").send_keys(Keys.CONTROL,'x') #ctrl+x剪切
time.sleep(0.3)
browser.find_element_by_id("kw").send_keys("webdriver api")
browser.find_element_by_id("su").send_keys(Keys.ENTER)
time.sleep(0.3)
browser.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
time.sleep(0.3)
browser.find_element_by_id("kw").send_keys(Keys.DELETE)
time.sleep(3)
browser.find_element_by_id("kw").send_keys(Keys.CONTROL,'v') #ctrl+v粘貼
browser.find_element_by_id("su").send_keys(Keys.ENTER)
time.sleep(3)
browser.quit()

![常用的鍵盤按鍵.png](http://upload-images.jianshu.io/upload_images/2539401-7f407526d69d742d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

###五弛槐、鼠標事件
>- 基本引用

from selenium.webdriver.common.action_chains import ActionChains #引入actionchains包
1、context_click() 右擊
2店枣、double_click() 雙擊
3闷旧、drag_and_drop() 拖動

- context_click() 右擊事件

--coding:utf-8--

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
browser=webdriver.Chrome()
time.sleep(0.5)
browser.maximize_window()
browser.get("http://www.baidu.com")
right=browser.find_element_by_xpath(".//*[@id='lg']/img") #xpath定位元素,可利用Firefox工具的filepath哦~
ActionChains(browser).context_click(right).perform() #利用ActionChains類調(diào)用

browser.quit()

- double_click() 雙擊事件

網(wǎng)頁中未找到需要雙擊的鏈接或者文件缀棍,如果有也是和上面的代碼差不多,改下事件名稱即可哦~O(∩_∩)O

- drag_and_drop() 拖動事件

--coding:utf-8--

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
browser=webdriver.Chrome()
time.sleep(0.5)
browser.maximize_window()
browser.get("http://www.sucaihuo.com/jquery/12/1211/demo/") #博主找來的案例網(wǎng)站基于css的canvas元素
right=browser.find_element_by_xpath("html/body/ul/li[1]/img")
left=browser.find_element_by_xpath("html/body/ul/li[12]/img")
ActionChains(browser).drag_and_drop(right,left).perform()
time.sleep(3)
browser.quit()

好了青瀑,今天就分享到這啦~去喝點水(ps:搞得自己向上課似得(#‵′)凸哈哈)斥难,之后學(xué)習(xí)后面的再來更新文章吧哑诊!
![](http://upload-images.jianshu.io/upload_images/2539401-7e144eb33d977b17.gif?imageMogr2/auto-orient/strip)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缴饭,一起剝皮案震驚了整個濱河市颗搂,隨后出現(xiàn)的幾起案子傅联,更是在濱河造成了極大的恐慌蒸走,老刑警劉巖载碌,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異步咪,居然都是意外死亡猾漫,警方通過查閱死者的電腦和手機悯周,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闰挡,“玉大人长酗,你說我怎么就攤上這事夺脾《匦浚” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我衔峰,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮伯复,結(jié)果婚禮上啸如,老公的妹妹穿的比我還像新娘氮惯。我一直安慰自己债鸡,他們只是感情好厌均,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布擒悬。 她就那樣靜靜地躺著懂牧,像睡著了一般僧凤。 火紅的嫁衣襯著肌膚如雪躯保。 梳的紋絲不亂的頭發(fā)上验懊,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音,去河邊找鬼歌溉。 笑死草慧,一個胖子當(dāng)著我的面吹牛漫谷,可吹牛的內(nèi)容都是我干的舔示。 我是一名探鬼主播惕稻,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼借帘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肺然?” 一聲冷哼從身側(cè)響起际起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后豫柬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體燕偶,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赫舒。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡扣讼,死狀恐怖届谈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情湖雹,我是刑警寧澤摔吏,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布征讲,位于F島的核電站诗箍,受9級特大地震影響挽唉,放射性物質(zhì)發(fā)生泄漏筷狼。R本人自食惡果不足惜匠童,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一汤求、第九天 我趴在偏房一處隱蔽的房頂上張望俏险。 院中可真熱鬧扬绪,春花似錦、人聲如沸预鬓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竣蹦。三九已至,卻和暖如春长窄,著一層夾襖步出監(jiān)牢的瞬間纲菌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工嚣潜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庇麦,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓入桂,卻偏偏與公主長得像抗愁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容