xpath定位方法小結

1、實例化一個瀏覽器
WebDriver driver = new FirefoxDriver();

2、driver.get() get傳參數到瀏覽器中

3、常用定位方法
webelement XX=driver.findElement(by.XX)

3.1 by.id("value");
3.2 by.ame("value");
3.3 by.xpath("/html/body/XX/div[1]/a") 表示第一個div值爲a的值
     by.xpath(/html/body/XX/div[last])表示最後一個div 倒數第二個爲[last-1]
     by.xpath(/html/body/XX/div[(position)-4]) 表示前三個div
     by.xpath(/html/body/XX/div[price>55])div下price大於55的列表
     by.xpath("//*[@屬性='值']") 查找某個屬性的值
     by.xpath("//title[@屬性='值']") 查找title下所有值 屬性
4.顯示取值
4.1  .getText() 取定位所在的值
    .gettittle()顯示頁面的title
5.點擊一個按鈕
 .click();
6.

6.多個對象處理機制
6.1點擊彈出新窗口,wb定位不到元素,則用一下語法

  1. for(Srting handle : driver.getwindowHandles()){

  2.      driver.switchTo().window(handle);

  3.      System.out.print(driver.gettitle()+'\n')

  4. }

複製代碼
6.2 獲取跳轉後頁面句柄
   driver.getWindowHandle()
6.2 獲取某個元素下的所有列表,在進行挨個點擊返回頁面
  1.  List<WebElement>11 =dr.findElements(by.xpath(""));

  2.          //li[position()<4] li列表的前三個li[last()]表示最後一個li[last()-1]表示倒數第二個

  3.             try{

  4.                  for (WebElement y: 11){

  5.                        y.click();

  6.                        dr.getWindiwHendles(); //返回上一個頁面

  7.                        System.out.print(y.getText()+"\n");

  8.               }

  9.              Thread.sleep(3000);

  10.            }catch(InerttuptedException e) {

  11.                   e.printStackTrace();//大於異常跟System.out.print(e)一樣,通常用前者調式

  12.            }

複製代碼
7.等待時間
Thread.sleep(10000);
最好放在
  1. try{}catch(exception e){System.out.printIn(e.toString());}

複製代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章