1.xpath
2.css_selector
3.name
4.id
5.1通過f12中的console,輸入$('元素的位置')來確認優化元素css seletor的位置:
div :class
="notice-box
" 定位格式 .notice-box
有些類中間只有空格,在console中找不到的可以使用.代替查詢試試
p標籤 :
p:nth-child(3) 沒有點
input(上傳檔案):
'.up-id-item:nth-child(1) [type="file"]')
5.2 通過f12中的console,輸入$x('元素的位置')來確認優化元素xpath的位置:
1、id 獲取id 的屬性值
2、starts-with 顧名思義,匹配乙個屬性開始位置的關鍵字 -- 模糊定位
3、contains 匹配乙個屬性值中包含的字串 -- 模糊定位
4、text() 函式文字定位
5、last() 函式位置定位
1、xpath使用方法使用xpath有如下幾種方法定位元素(相比css選擇器,方法稍微多一點):
a、通過絕對路徑定位元素(不推薦!)
webelement ele = driver.findelement(by.xpath("html/body/div/form/input"));
b、通過相對路徑定位元素
webelement ele = driver.findelement(by.xpath("//input"));
c、使用索引定位元素
webelement ele = driver.findelement(by.xpath("//input[4]"));
d、使用xpath及屬性值定位元素
webelement ele = driver.findelement(by.xpath("//input[@id='****']"));
//其他方法(看字面意思應該能理解吧)
webelement ele = driver.findelement(by.xpath("//input[@type='submit'][@name='****']"));
webelement ele = driver.findelement(by.xpath("//input[@type='submit' and @name='****']"));
webelement ele = driver.findelement(by.xpath("//input[@type='submit' or @name='****']"));
e、使用xpath及屬性名稱定位元素
元素屬性型別:@id 、@name、@type、@class、@tittle
//查詢所有input標籤中含有type屬性的元素
webelement ele = driver.findelement(by.xpath("//input[@type]"));
f、部分屬性值匹配
webelement ele = driver.findelement(by.xpath("//input[start-with(@id,'****')]"));//
匹配id以****開頭的元素,id='****you'
webelement ele = driver.findelement(by.xpath("//input[ends-with(@id,'****')]"));//
匹配id以****結尾的元素,id='you****'
webelement ele = driver.findelement(by.xpath("//input[contains(@id,'****')]"));//
匹配id中含有****的元素,id='you****you'
g、使用任意值來匹配屬性及元素
webelement ele = driver.findelement(by.xpath("//input[@*='****']"));//
匹配所有input元素中含有屬性的值為****的元素
元素定位總結
6.在頁面往往有滾動的情況
.這個時候我們可以先讓頁面直接跳到元素出現的位置,然後就可以操作了。同樣需要借助js去實現。
元素聚焦:
target = driver.find_element_by_***x()
driver.execute_script("arguments[0].scrollintoview();", target)
APP自動化測試定位元素位置
如下圖所示,使用uiautomator2 工具定位7的位置,只需要獲取此位置的resource id 資訊即可 class是乙個類屬性,一般重複性會很高,所以很少直接使用,這裡講class屬性是由於在xpath中會頻繁用到class屬性 text屬性是文字,如果是要定位到唯一的標題之類的可以直接使用...
APP自動化測試之常見API 1 多種元素定位方式
自動化測試之常見api 1.多種元素定位方式 driver.find element by id 通過id定位,對應resource id driver.find element by name 通過name定位,對應text driver.find element by tag name 通過ta...
WebDriver 定位元素的8種方式
在ui層面的自動化測試開發中,元素的定位與操作是基礎,也是經常遇到的困難所在。webdriver提供了8種定位 id定位 find element by id id值 id屬性是唯一的 1 driver.find element by id loginname clear 使用者名稱輸入框的id屬性...