您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
在Selenium WebDriver中使用By.Xpath快速定位頁(yè)面元素
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/1/23 9:40:13 ] 推薦標(biāo)簽:Selenium WebDriver 頁(yè)面

以登錄頁(yè)面密碼框定位為例,講解如何在selenium webdriver中通過(guò)by.xpath定位頁(yè)面元素,快速獲取元素位置并完成操作。

 

問(wèn)題引入:

 

用Selenium IDE錄制后的腳本如下:

driver.findElement(By.name("pass")).clear();

driver.findElement(By.name("pass")).sendKeys("密碼");

driver.findElement(By.id("passwords")).clear();

driver.findElement(By.id("passwords")).sendKeys("123456");

回放的時(shí)候,頁(yè)面非常難定位,需要很長(zhǎng)時(shí)間才能找到密碼框并輸入密碼,如果超時(shí)了找不到會(huì)報(bào)錯(cuò)。

 

解決方案:

既然有時(shí)候能回放成功,有時(shí)候又找不到頁(yè)面元素,那肯定是這個(gè)元素定位不夠準(zhǔn)確,所以在查找的時(shí)候會(huì)消耗很長(zhǎng)時(shí)間,那么通過(guò)xpah定位是否可以?

 

Xpath查找元素對(duì)象時(shí)有這樣一種定位方式,即通過(guò)//定位,詳情請(qǐng)參考:http://www.w3school.com.cn/xpath/xpath_syntax.asp

//
 

從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置。

比如這里密碼框是輸入框input,想要查找input的位置可以通過(guò)//input來(lái)實(shí)現(xiàn),如果只是//input則可能會(huì)定位到多個(gè)input元素,此時(shí)需要通過(guò)鍵值對(duì)更精確的定位,語(yǔ)法是//input[@key=value],即://input[@name='pass']

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