selenium-webdriver(python) (一) 環境的搭建

來源:互聯網
上載者:User

為什麼選python?

之前的菜鳥系列是基於java的,一年沒學其實也忘的差不多了,目前所測的產品部分也是python寫的,而且團隊也在推廣python ,其實就測試人員來說,python也相當受歡迎。易學,易用。翻翻各測試招聘,python出現的機率也頗高。

平台搭建:

前一篇中已經介紹,如果你也想體驗一下自動化魅力,那就趕快搭建自己的環境吧~!

selenium + python自動化測試環境搭建

第一個指令碼:

下面看看python 穿上selenium webdriver 是多麼的性感:

# coding = utf-8    from selenium import webdriver        browser = webdriver.Firefox()    browser.get("http://www.baidu.com")browser.find_element_by_id("kw").send_keys("selenium")browser.find_element_by_id("su").click()browser.quit()

怎麼樣?相信不懂代碼的人都能看懂,但還是請容我在這裡囉嗦一下每一句的含義:

# coding = utf-8

可加可不加,開發人員喜歡加一下,防止亂碼嘛。

from selenium import webdriver

要想使用selenium的webdriver 裡的函數,首先把包導進來嘛

browser = webdriver.Firefox()

我們需要操控哪個瀏覽器呢?Firefox ,當然也可以換成Ie 或 Chrome 。browser可以隨便取,但後面要用它操縱各種函數執行。

browser.find_element_by_id("kw").send_keys("selenium")

一個控制項有若干屬性id 、name、(也可以用其它方式定位),百度輸入框的id 叫kw ,我要在輸入框裡輸入 selenium 。多自然語言呀!

browser.find_element_by_id("su").click()

搜尋的按鈕的id 叫su ,我需要點一下按鈕( click() )。

browser.quit()

退出並關閉視窗的每一個相關的驅動程式,它還有個類似的表弟。

browser.close()

關閉當前視窗 ,用哪個看你的需求了。

添加休眠

什嗎?你說剛才太快沒看清瀏覽器的操作過程。請time出馬,讓他跑慢點。

# coding = utf-8    from selenium import webdriverimport  time  #調入time函數    browser = webdriver.Firefox()    browser.get("http://www.baidu.com")time.sleep(0.3)  #休眠0.3秒browser.find_element_by_id("kw").send_keys("selenium")browser.find_element_by_id("su").click()time.sleep(3)  # 休眠3秒browser.quit()

查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/

time.sleep() 函數隨意插,哪裡太快插哪裡,再也不用擔心看不清指令碼的運行過程了。

其實,這個函數的真正用途不是給我們看指令碼的運行過程的,有時候網路原因,或頁面載入慢。假設搜尋方塊輸入框輸入了selenium ,搜尋按鈕還沒載入出來,那麼指令碼就報錯。在適當的位置加入time.sleep()有助於減少網路原因造成的指令碼執行失敗;

輸出

什嗎?在運行指令碼的時候,上了個廁所,你都不知道剛才的指令碼是否運行成功了。把剛才訪問頁面的title 列印出來。

# coding = utf-8    from selenium import webdriver    driver = webdriver.Chrome()driver.get('http://www.baidu.com')print driver.title  # 把頁面title 列印出來driver.quit()

雖然我沒看到指令碼的執行過程,但我在執行結果裡看到了

>>>
百度一下,你就知道

說明頁面正確被我開啟了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.