selenium元素定位詳解
阿新 • • 發佈:2018-12-03
列印URL
上一節講到,可以將瀏覽器的title打印出來,這裡再講個簡單的,把當前URL打印出來。其實也沒啥大用,可以做個湊數的用例。
#coding=utf-8 from selenium import webdriver import time browser = webdriver.Firefox() url= 'http://www.baidu.com' #通過get方法獲取當前URL列印 print "now access %s" %(url) browser.get(url) time.sleep(2) browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() time.sleep(3) browser.quit()
其實,我們可以把這使用者登入成功後的URL列印,用於驗證使用者登入成功。
又或者,我們列印其它資訊,比如,一般的登入成功頁會出現“歡迎+使用者名稱”,可以將這個資訊打印表明使用者登入成功。(如何實現,你自己琢磨一下吧~!)
將瀏覽器最大化
我們知道呼叫啟動的瀏覽器不是全屏的,這樣不會影響指令碼的執行,但是有時候會影響我們“觀看”指令碼的執行。
#coding=utf-8 from selenium import webdriver import time browser = webdriver.Firefox() browser.get("http://www.baidu.com") time.sleep(2) print "瀏覽器最大化" browser.maximize_window() #將瀏覽器最大化顯示 time.sleep(2) browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() time.sleep(3) browser.quit()
設定瀏覽器固定寬、高
最大化還是不夠靈活,能不能隨意的設定瀏覽的寬、高顯示?當然是可以的。
#coding=utf-8 from selenium import webdriver import time browser = webdriver.Firefox() browser.get("http://m.mail.10086.cn") time.sleep(2) print "設定瀏覽器寬480、高800顯示" browser.set_window_size(480, 800) #引數數字為畫素點 time.sleep(3) browser.quit()
這個需求也還是有的,比如我們通過PC瀏覽器在訪問一下手機網站時,調整瀏覽器為手機螢幕的寬、高,容易發現一些顯示問題。(上面的手機郵箱網站就是筆者測試過的一個產品)
操控瀏覽器前進、後退
瀏覽器上有一個後退、前進按鈕,對於瀏覽網頁的人是比較方便的;對於做web自動化測試的同學來說應該算是一個比較難模擬的問題;其實很簡單,下面看看python的實現方式
#coding=utf-8
from selenium import webdriver
import time
browser = webdriver.Firefox()
#訪問百度首頁
first_url= 'http://www.baidu.com'
print "now access %s" %(first_url)
browser.get(first_url)
time.sleep(2)
#訪問新聞頁面
second_url='http://news.baidu.com'
print "now access %s" %(second_url)
browser.get(second_url)
time.sleep(2)
#返回(後退)到百度首頁
print "back to %s "%(first_url)
browser.back()
time.sleep(1)
#前進到新聞頁
print "forward to %s"%(second_url)
browser.forward()
time.sleep(2)
browser.quit()
為了使過程讓你看得更清晰,在每一步操作上都加了print 和sleep 。