您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源功能測(cè)試工具 > Selenium
輕松自動(dòng)化---selenium-webdriver(python)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/8/9 13:21:18 ] 推薦標(biāo)簽:

  XPath

  --------------------------------------------------------------------------------

  什么是XPath:http://www.w3.org/TR/xpath/

  XPath基礎(chǔ)教程:http://www.w3schools.com/xpath/default.asp

  selenium中被誤解的XPath : http://magustest.com/blog/category/webdriver/

  XPath是一種在XML文檔中定位元素的語(yǔ)言。因?yàn)镠TML可以看做XML的一種實(shí)現(xiàn),所以selenium用戶可是使用這種強(qiáng)大語(yǔ)言在web應(yīng)用中定位元素。

  XPath擴(kuò)展了上面id和name定位方式,提供了很多種可能性,比如定位頁(yè)面上的第三個(gè)多選框。

xpath:attributer (屬性)
driver.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")
#input標(biāo)簽下id =kw的元素

xpath:idRelative (id相關(guān)性)
driver.find_element_by_xpath("//div[@id='fm']/form/span/input").send_keys("selenium")
#在/form/span/input 層級(jí)標(biāo)簽下有個(gè)div標(biāo)簽的id=fm的元素
driver.find_element_by_xpath("//tr[@id='check']/td[2]").click()
# id為'check' 的tr ,定閃他里面的第2個(gè)td

xpath:position (位置)
driver.find_element_by_xpath("//input").send_keys("selenium")
driver.find_element_by_xpath("//tr[7]/td[2]").click()
#第7個(gè)tr 里面的第2個(gè)td

xpath: href (水平參考)
driver.find_element_by_xpath("//a[contains(text(),'網(wǎng)頁(yè)')]").click()
#在a標(biāo)簽下有個(gè)文本(text)包含(contains)'網(wǎng)頁(yè)' 的元素
xpath:link
driver.find_element_by_xpath("//a[@href='http://www.baidu.com/']").click()
#有個(gè)叫a的標(biāo)簽,他有個(gè)鏈接href='http://www.baidu.com/ 的元素

  link 定位

  --------------------------------------------------------------------------------

  有時(shí)候不是一個(gè)輸入框也不是一個(gè)按鈕,而是一個(gè)文字鏈接,我們可以通過(guò)link

#coding=utf-8

from selenium import webdriver
import time

browser = webdriver.Firefox()

browser.get(http://www.baidu.com)
time.sleep(2)
  
browser.find_element_by_link_text("貼 吧").click()
time.sleep(2)
browser.quit()

  一般一個(gè)那頁(yè)面上不會(huì)出現(xiàn)相同的文件鏈接,通過(guò)文字鏈接來(lái)定位也是一種簡(jiǎn)單有效的定位方式。

  Partial Link Text 定位

  --------------------------------------------------------------------------------

  通過(guò)部分鏈接定位,這個(gè)有時(shí)候也會(huì)用到,我還沒(méi)有想到很好的用處。拿上面的例子,我可以只用鏈接的一部分文字進(jìn)行匹配:

browser.find_element_by_partial_link_text("貼").click()
#通過(guò)find_element_by_partial_link_text() 函數(shù),我只用了“貼”字,腳本一樣找到了"貼 吧" 的鏈接

相關(guān)鏈接:
上一頁(yè)123下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd