webdriver

1. webdriver簡介html

webdriver (Selenium2)是一種用於Web應用程序的自動測試工具,它提供了一套友好的API,與Selenium 1(Selenium-RC)相比,Selenium2的API更容易理解和使用,其可讀性和可維護性也大大提升
Webdriver徹底就是一套類庫,不依賴於任何測試框架,除了必要的瀏覽器驅動,不須要啓動其餘進程或安裝其餘程序,也沒必要像Selenium 1那樣須要先啓動服務。
另外,兩者所採用的技術方案也不一樣。Selenium 1是在瀏覽器中運行 JavaScript來進行測試,而Selenium 2則是經過原生瀏覽器支持或者瀏覽器擴展直接控制瀏覽器。
Selenium 2針對各個瀏覽器而開發的,它取代了嵌入到被測Web應用中的 JavaScript。與瀏覽器的緊密集成,支持建立更高級的測試,避免了JavaScript安全模型的限制。除了來自瀏覽器廠商的支持,Selenium 2 還利用操做系統級的調用模擬用戶輸入
 
安裝selenium這個第三方模塊
pip install selenium

 

2. 瀏覽器擴展下載python

webdriver支持多種瀏覽器,如firefox(帶圖形界面的linux服務器自帶firefox,原生支持webdriver)、chrome、ie等瀏覽器
下載後解壓,把可執行程序放到python的安裝目錄
 
3. driver對象的一些方法
#!/usr/bin/env python
#coding:utf8

from selenium import webdriver

url = 'https://www.baidu.com'
driver = webdriver.Firefox()            //建立一個firefox瀏覽器的dirver對象
driver.get(url)                         //訪問url
driver.get_cookies()                    //返回當前頁的cookie
driver.back()                           //歷史記錄後退一頁
driver.forward()                        //歷史記錄前進一頁
driver.refresh()                        //刷新當前頁
# print(driver.page_source)             //返回當前的html源碼
print(driver.current_url)               //返回當前的url
print(driver.session_id)                //session id
print(driver.title)                     //titile
driver.quit()                           //退出全部頁面並關閉會話

------------------------------------------------>
https://www.baidu.com/
04b303b0-0b58-45c6-b5bb-e4aa531b4bf7
百度一下,你就知道

 

4. 元素對象的一些方法linux

#!/usr/bin/env python
#coding:utf8

import time
from selenium import webdriver

url = 'https://www.python.org/'
driver = webdriver.Firefox()
driver.get(url)
element = driver.find_element_by_id('id-search-field')
element.clear()                                               //清空輸入框的內容
element.send_keys('os')                                       //發送數據到輸入框
# element.click()                                             //點擊(同鼠標左鍵)
# element.submit()                                            //點擊表單提交按鈕
driver.find_element_by_id('submit').click()
time.sleep(10)
driver.quit()

 

5. 定位html中的元素對應的代碼git

 

實例一:在python官網搜索框搜索os模塊github

import time
from selenium import webdriver

url = 'https://www.python.org/'
driver = webdriver.Firefox()
driver.get(url)
element = driver.find_element_by_id('id-search-field')
element.clear()
element.send_keys('os')
driver.find_element_by_id('submit').click()
time.sleep(10)
driver.quit()

 

實例二:登錄京東並領取優惠券web

#!/usr/bin/env python
#coding:utf8

import time
import string
import random
from selenium import webdriver

def getTime():
    return time.sleep(int(random.choice(string.digits)))

url = 'https://www.jd.com/'
driver = webdriver.Firefox()
driver.get(url)
getTime()
driver.find_element_by_link_text('你好,請登陸').click()
getTime()
driver.find_element_by_xpath('//a[@clstag="pageclick|keycount|201607144|2"]').click()
element = driver.find_element_by_id('loginname')
getTime()
element.clear()
element.send_keys('xxxxxx')
element1 = driver.find_element_by_id('nloginpwd')
getTime()
element1.clear()
element1.send_keys('xxxxxxx')
getTime()
driver.find_element_by_id('loginsubmit').click()
driver.get('https://plus.jd.com/index')
driver.find_element_by_xpath('//a[@clstag="plus2017|keycount|ZSQ|coupon_get1_46793030"]').click()
相關文章
相關標籤/搜索