一、基本知識
以下是打開瀏覽器鏈接和關閉的最基本的操作了,這里會出現問題的也可以留言@me哦~
1、from selenium import webdriver #導入webdriver函數之后還有些是函數中的某些類
2、driver = webdriver.Chrome() #規定運行腳本的瀏覽器,自己下載驅動并配置環境變量
3、driver.get("http://www.baidu.com") #打開測試的鏈接
4、driver.quit() #退出瀏覽器
二、操作測試對象
根據不同的事件來定位元素可參見我的另一篇文章:
selenium篇(二)之簡單的對象(元素)定位
1、driver.find_element_by_id("kw").clear() #清除輸入框內的內容
driver.find_element_by_id("kw").send_keys("selenium") #輸入框輸入內容
2、driver.find_element_by_id("su").click() #點擊按鈕
3、driver.find_element_by_id("su").submit() #提交表單
三、其他常見操作
1、import time #調入時間函數
time.sleep(3) #休眠三秒
2、driver.implicitly_wait(30) #智能等待30秒
3、driver.maximize_window() #最大化瀏覽器窗口
driver.set_window_size(1280,960) #設置瀏覽器的長寬
4、driver.forward() #前進到下一個頁面
driver.back() #后退到上一個頁面
###四、鍵盤事件
>- 基本引用
from selenium.webdriver.common.keys import Keys #引入keys函數
通過send_keys來調用按鍵的名稱(按鍵名大寫),例如:
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 #添加時間函數
browser=webdriver.Chrome()
browser.maximize_window()
time.sleep(3) #添加睡眠時間
browser.get("http://www.lxweimin.com/")
time.sleep(3)
browser.find_element_by_id("q").send_keys("selenium")
browser.find_element_by_id("q").send_keys(Keys.ENTER) #利用鍵盤enter鍵搜索內容
- 鍵盤組合鍵用法
--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()

###五、鼠標事件
>- 基本引用
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類調用
browser.quit()
- double_click() 雙擊事件
網頁中未找到需要雙擊的鏈接或者文件,如果有也是和上面的代碼差不多,改下事件名稱即可哦~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/") #博主找來的案例網站基于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:搞得自己向上課似得(#‵′)凸哈哈),之后學習后面的再來更新文章吧!
