Selenium中定位方式記錄
阿新 • • 發佈:2019-01-08
在這裡僅記錄一下常用的定位方式:
- 1. id定位
@FindBy(id = "EmailInvoice")
private WebElement emailInvoiceCheckBox;
- 2. name/class等標籤定位
@FindBys(@FindBy(className = "Content"))
private List<WebElement> resolutionText;
- 3. css定位
//一級一級查詢# // . //:nth-child
@FindBy(css = "#InvoiceInfoBlock .invoiceInfoRow:nth-child(2)" )
private WebElement invoiceNumber;
//使用部分屬性值匹配
@FindBy(css = "img[title*='4.00']")
private WebElement surveryRatingImg;
- 4. xpath定位
//通過絕對路徑做定位
By.xpath("html/body/div/form/input")
//通過相對路徑定位
By.xpath("//input")
//通過元素索引定位
By.xpath("//input[4]")
//使用xpath屬性定位
By.xpath("//input[@id='kw1']")
By.xpath("//input[@type='name' and @name='kw1']" )
//使用部分屬性值匹配
By.xpath("//input[start-with(@id,'valueA'")
By.xpath("//input[ends-with(@id,'valueB'")
By.xpath("//input[contains(@id,'valueC')]")
/**
包含noteDescription的span的父親節點的第一個兄弟節點下的第一個div下的第五個a.
其中
1. /..
/ 從根節點選取 .. 選取當前節點的父節點
2. following-sibling
選取當前節點後的同級節點
preceding-sibling
選取當前節點前的同級節點
*/
By.xpath("//span[contains(text(),'" + noteDescription + "') and @id = 'noteText']/../following-sibling::div[1]/a[5]")