一钩骇、基本知識
以下是打開瀏覽器鏈接和關(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)