2016-08-30 4 views
0

私はselenium webdriver(JAVA)テストWebアプリケーションを使用しています.i天気がその国で利用可能かどうか、使用不可シンボルクロスとティック。私は、XPathのすべての組み合わせを試みたが、それは、ブランク値は下記の関連HTML された印刷:そのためシンボルのxpathから値を取得することはできませんが、intであれば正しく動作します

<li> 
    <span ng-reflect-class-name="glyphicon glyphicon-remove" class="glyphicon glyphicon-remove"></span>  
    <img alt="" data-placement="top" data-toggle="tooltip" ng-reflect-src="app/shared/images/surro_icon1.png" src="app/shared/images/surro_icon1.png" ng-reflect-title="SAFE WATER: Not Available" title="SAFE WATER: Not Available">   
</li> 

および関連コード:アクション=新しいアクション(ドライバ)ビルダー;

WebElement SafeWater = driver.findElementByXPath("/html/body/app-root/app-home/div/div/div[1]/app-utility-bar/div/ul/li[3]/span"); 
builder.moveToElement(SafeWater).perform(); 
String availabilitySafeWater = SafeWater.getText(); 
System.out.println("safe water :" + availabilitySafeWater);  

答えて

0

<span>タグにはテキストが含まれていないため、空白の値が得られます。サイドノートとしてsafe water : SAFE WATER: Not Available

、絶対パスを使用しないようにしよう:私はあなたが<img>タグ

WebElement safeWater = driver.findElement(By.xpath("/html/body/app-root/app-home/div/div/div[1]/app-utility-bar/div/ul/li[3]/img")); 
builder.moveToElement(safeWater).perform(); 
String availabilitySafeWater = safeWater.getAttribute("title"); 
System.out.println("safe water :" + availabilitySafeWater); 

結果のタイトルを探していると思います。​​は、ユニークなクラス名がある場合にも使用してたとえば、あなたは

WebElement safeWater = driver.findElement(By.xpath(".//[@class='glyphicon']")); 

かを行うことができますBy.className

WebElement safeWater = driver.findElement(By.className("glyphicon"));