目錄
webdriver API
腳本實例
元素的定位
1. 通過id定位:
2. 通過name方式定位
3. 通過tag name(標(biāo)簽名)定位
4. 通過class name (類名)方式定位
5.?通過CSS 方式定位
6.?通過xpath方式定位
7.?link text定位
8. Partial link text 定位
操作測試對象
?鼠標(biāo)點擊與鍵盤輸入
submit 提交表單
text 獲取元素文本
webdriver API
腳本實例
# coding = utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver =webdriver.Chrome()
driver.get('http://www.baidu.com')
time.sleep(3)
driver.find_element(By.ID,'kw').send_keys('軟件測試')
time.sleep(3)
driver.find_element(By.ID,'su').click()
time.sleep(3)
driver.quit()
coding = utf-8
from selenium import webdriver
driver =webdriver.Chrome()
driver.get('http://www.baidu.com')
打開百度這個網(wǎng)址。
driver.find_element(By.ID,'kw').send_keys('軟件測試')
根據(jù)id尋找kw這個元素,在百度里面,這個kw的元素是搜索框,然后send_keys是輸入指令,輸入“軟件測試”
driver.find_element(By.ID,'su').click()
這一段是根據(jù)id找到su這個按鈕,click代表點擊
driver.quit()
關(guān)閉瀏覽器
總結(jié)上面代碼的邏輯是,在百度中搜索“軟件測試”,并點擊搜索按鈕
driver.close()
?上面一行代碼也能夠關(guān)閉窗口,和quit的區(qū)別是:
元素的定位
注意:不管用那種方式,必須保證頁面上該屬性的唯一性
id
name
class name
link text
partial link text
tag name
xpath
css selector
<input type="text" class="s_ipt" name="wd" id="kw"
maxlength="100" autocomplete="off">
1. 通過id定位:
<input type="text" class="s_ipt" name="wd" id="kw"
maxlength="100" autocomplete="off">
driver.find_element(By.ID,'kw').send_keys('軟件測試')
2. 通過name方式定位
driver.find_element(By.NAME,'wd').send_keys('軟件測試')
3. 通過tag name(標(biāo)簽名)定位
name(標(biāo)簽名) input 就是一個標(biāo)簽的名字,而class="s_ipt"是類名。
在這里要注意的是,不是所有的元素用 tag name或者 class name來定位元素,首先要保證該元素的這兩種屬性在頁面上是唯一的,才能夠精準(zhǔn)定位。
driver.find_element(By.TAG_NAME,'input').send_keys('軟件測試')
注意:上面這個可能執(zhí)行不成功,因為標(biāo)簽名可能不唯一???♀?
4. 通過class name (類名)方式定位
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('軟件測試')
5.?通過CSS 方式定位
CSS 的比較靈活可以選擇控件的任意屬性,上面的例子中:driver.find_element(By.CSS_SELECTOR,'#kw')選擇取百度輸入框的id 屬性來定義
driver.find_element(By.CSS_SELECTOR,'#kw').send_keys('軟件測試')
6.?通過xpath方式定位
什么是XPath:http://www.w3.org/TR/xpath/ 文章來源:http://www.zghlxwxcb.cn/news/detail-771772.html
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys('軟件測試')
7.?link text定位
#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
browser.find_element(By.LINK_TEXT,"hao123").click()
browser.quit()
8. Partial link text 定位
#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
browser.find_element(By.PARTIAL_LINK_TEXT,"hao123").click()
browser.quit()
操作測試對象
1. click 點擊對象2. send_keys 在對象上模擬按鍵輸入3. clear 清除對象輸入的文本內(nèi)容4. submit 提交5. text 用于獲取元素的文本信息
?鼠標(biāo)點擊與鍵盤輸入
#coding=utf-8
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(2)
driver.find_element(By.ID,"kw").send_keys("test")
time.sleep(2)
driver.find_element(By.ID,"kw").clear()
driver.find_element(By.ID,"kw").send_keys("selenium")
time.sleep(2)
#通過submit() 來操作
driver.find_element(By.ID,"su").submit()
time.sleep(3)
driver.quit()
submit 提交表單
driver.find_element(By.ID,"su").submit()
text 獲取元素文本
#coding=utf-8
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(2)
#id = cp 元素的文本信息
data=driver.find_element(By.ID,"bottom_layer").text
print(data) #打印信息
time.sleep(3)
driver.quit()
?2018 Baidu 使用百度前必讀 意見反饋 京ICP證030173號
本節(jié)就到這里啦,你們的支持就是我前進的動力,希望大家多多支持噢???♀????♂????♀????♂???文章來源地址http://www.zghlxwxcb.cn/news/detail-771772.html
到了這里,關(guān)于自動化測試(二)selenium八大獲取元素方法及對象操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!