碼字不易,轉發請註明出處:http://blog.csdn.net/qq_28945021/article/details/53538704
前言
近期接到編寫一個自動化測試web項目的腳本任務,由於需要兼容IE,因此只能選擇Selenium咯,本篇博客意在記錄,備忘,若有不足或錯誤,還望指出。
依賴
首先需要下載Selenium,使用pipy很簡單的就能下載下來。
接下來是兼容幾個瀏覽器的驅動,這裏我只使用IE,因此只下載了Ie的驅動:
注意!!!在選擇IE驅動時,使用32bit的,不然你的腳本會運行得極慢!尤其是send_keys時
這些依賴很容易就能下到了。多用心百度下。
使用
1.打開瀏覽器並跳轉頁面:
from selenium import webdriver
bower = webdriver.Ie() #打開Ie瀏覽器
bower.get("http://www.baidu.com") #跳轉到百度頁面
值得注意的是,坑爹的Ie某樣安全選項會使跳轉頁面後bower丟失,無法使用,反正我用的時候是全部關閉的。
2.尋找標籤element:
bower.find_element_by_id(id)
bower.find_element_by_tag_name(tagName)
bower.find_element_by_name(name)
...
這個很簡單,按下TAB就能出來你想要的尋找方式了。但是值得注意的是,無法從一個頁面選中該頁面中的iframe中的tag,這種需求時看下一條
3.進入不同iframe,window
bower.switch_to.frame(frameName)
bower.switch_to.window(windowName)
這裏默認使用iframe的name和window的name,如無name會匹配id
4.在input文本框中插入文本
text = bower.find_element_by_id("inputText")
#這裏是選中待插入的文本框,括號中是該input的id
text.send_keys("快看看你的window")
很奇怪的,在firfox和chrome上都會很快,但是在Ie上就會特別慢,希望有知道如何解決的大神留言。
5.選擇Select
from selenium.webdriver.support.select import Select
sel = bower.find_element_by_id("selectId")
Select(sel).select_by_index(num) #根據給定的數選擇
今天暫時用到的就這麼多,之後有用到更多會積累上來。