xpath mysql xpath定位方法詳解

2021-10-17 17:02:37 字數 1771 閱讀 5520

1.xpath較複雜的定位方法:

現在要引用id為「j_password」的input元素,可以像下面這樣寫:

webelement password = driver.findelement(by.xpath("//*[@id='j_login_form']/dl/dt/input[@id='j_password']"));

其中//*[@id=』 j_login_form』]這一段是指在根元素下查詢任意id為j_login_form的元素,此時相當於引用到了form元素。後面的路徑必須按照原始碼的層級依次往下寫。按照圖所示**中,我們要找的input元素包含在乙個dt標籤內,而dt又包含在dl標籤內,所以中間必須寫上dl和dt兩層,才到input這層。當然我們也可以用*號省略具體的標籤名稱,但元素的層級關係必須體現出來,比如我們不能寫成//*[@id='j_login_form']/input[@id='j_password'],這樣肯定會報錯的。

另外一種寫法:webelement password = driver.findelement(by.xpath("//*[@id='j_login_form']/*/*/input[@id='j_password']"));

2.xpath的模糊定位方法:

a. 用contains關鍵字,定位**如下:

driver.findelement(by.xpath(「//a[contains(@href, 『logout』)]」));

這句話的意思是尋找頁面中href屬性值包含有logout這個單詞的所有a元素,由於這個退出按鈕的href屬性裡肯定會包含logout,所以這種方式是可行的,也會經常用到。其中@後面可以跟該元素任意的屬性名。

b. 用start-with,定位**如下:

driver.findelement(by.xpath(「//a[starts-with(@rel, 『nofo』)]));

這種方式一般用於知道超連結上顯示的部分或全部文字資訊時,可以使用。

這句的意思是尋找rel屬性以nofo開頭的a元素。其中@後面的rel可以替換成元素的任意其他屬性

c. 用text關鍵字,定位**如下:

driver.findelement(by.xpath(「//a[contains(text(), 』退出』)]));

直接查詢頁面當中所有的退出二字,根本就不用知道它是個a元素了。這種方法也經常用於純文字的查詢

d.如果知道超連結元素的文字內容,也可以用

driver.findelement(by.xpath(「//a[contains(text(), 』退出』)]));

3.xpath 關於網頁中的動態屬性的定位,例如,asp.net 應用程式中動態生成 id 屬性值,可以有以下四種方法:

a.starts-with      例子: input[starts-with(@id,'ctrl')]              解析:匹配以 ctrl開始的屬性值

b.ends-with        例子:input[ends-with(@id,'_username')]     解析:匹配以 username 結尾的屬性值

c.contains()        例子:input[contains(@id,'username')]         解析:匹配含有 username 屬性值

參考**:

xpath詳解:

xpath mysql xpath 定位小技巧

絕對路徑定位 find element by xpath html body div 1 2 input 表示從根節點開始,body中的第乙個div標籤下的第二個標籤 表示匹配所有型別標籤 下的input標籤。注意這個同級下第幾個元素是從1開始的,同級下只有乙個該標籤就不用指定第幾個了,比如上面的i...

定位方法之xpath定位

1 xml 可擴充套件標記語言,是對html的擴充套件,語法和html相似,只是它的標記和屬性是可以自己根據業務需要來定義的,而html裡的標記和屬性都是固定的。2 xpath xml path,就是xml路徑語言,是在xml裡查詢元素或屬性的一種技術,用描述元素在整個檔案裡所在路徑的方式來查詢資訊...

定位方法之css selector定位

1.css層疊樣式表,修飾html或xml的檔案樣式,css裡包含selector選擇器的技術,可以選擇介面上的元素 也就是我們所說的定位元素 可以像xpath一樣描述元素的特徵或路徑。優點是比xpath定位元素速度更快 更簡潔短小,缺點是功能沒有xpath強大,不能向前查詢。css定位和xpath...