一、Selenium的Java編程基本語(yǔ)法
在Selenium的基本語(yǔ)法中首先是需要定位到頁(yè)面元素的,Selenium通過找尋到界面元素然后觸發(fā)相應(yīng)的時(shí)間,通過頁(yè)面元素變化判斷是否執(zhí)行了相應(yīng)的操作。
可以通過頁(yè)面元素的屬性獲取相應(yīng)的頁(yè)面元素。
1.通過Identifier(id)定位元素
所給出的定位的HTML元素必須要有identifier,如果沒有會(huì)報(bào)告未找到相應(yīng)元素的錯(cuò)誤。通過ID來標(biāo)識(shí)可以確定性。
WebElement ele = By.id("idName");
只有當(dāng)你明確知道元素的id屬性,才能使用。
2.通過Name定位元素
使用id定位元素固然方面,但是id并不是html元素必須的,我們可以使用Name定位元素位置。
使用Name定位元素的位置,會(huì)匹配第一個(gè)與Name匹配的元素。如果頁(yè)面中有多個(gè)相同的Name,可以使用更多的篩選器進(jìn)行元素篩選的細(xì)化。
WebElement ele = By.Name("name");
只有明確知道原屬的那么,才能使用。
3.通過Xpath定位元素
在一些情況下無(wú)法得知頁(yè)面元素的id和name,還可以使用xpath從已知節(jié)點(diǎn)開始定位相應(yīng)的元素。
路徑進(jìn)行定位 xpath=/html/body/form[1]
通過元素的相應(yīng)屬性定位例如xpath=//form[@id='loginForm'] 表示從根節(jié)點(diǎn)開始查找一個(gè)form元素她包含一個(gè)屬性是id并且里面的值為loginForm
找到某一個(gè)元素下相應(yīng)的子元素 xpath=//form[input/@name='username'] 找到Form表單下面的input元素并且該元素有一個(gè)屬性name且該name的值是username。
找到第一個(gè)指定的元素 xpath=//input[@name='username'] 扎到第一個(gè)input元素里面有一個(gè)name屬性并且該屬性值為username
還可以使用更加細(xì)分的查找 xpath = //input[@name='continue'][@type='button'] 找到input標(biāo)簽,1.該標(biāo)簽有一個(gè)name=continue屬性和type=button屬性的元素。
4.通過連接定位元素
WebElement ele = By.LinkText("xxxx");
當(dāng)知曉相應(yīng)的鏈接類容可以定位到相應(yīng)的元素。
5.通過DOM元素定位元素
DOM元素是HTML的基本元素,而且只有dom定位可以直接通過document
dom=document.getElementById('loginForm')
dom=document.forms['loginForm']
dom=document.forms[0]
document.forms[0].username
document.forms[0].elements['username']
document.forms[0].elements[0]
document.forms[0].elements[3]
6.通過tagName,通過標(biāo)簽名稱進(jìn)行定位
List<WebElement> eles = By.TagName("tagname");
在一個(gè)頁(yè)面中相同的tag標(biāo)簽太多了,如果僅適用單個(gè)tagname查詢會(huì)找到一個(gè)列表。