Python Webdriver API


每日一小步.png

一、基本知識

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

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

二、操作測試對象

根據(jù)不同的事件來定位元素可參見我的另一篇文章:
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 #調入時間函數(shù)
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函數(shù)
通過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 #添加時間函數(shù)
browser=webdriver.Chrome()
browser.maximize_window()
time.sleep(3) #添加睡眠時間
browser.get("http://www.itdecent.cn/")
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()

![常用的鍵盤按鍵.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類調用

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:搞得自己向上課似得(#‵′)凸哈哈),之后學習后面的再來更新文章吧!
![](http://upload-images.jianshu.io/upload_images/2539401-7e144eb33d977b17.gif?imageMogr2/auto-orient/strip)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容