2016-06-02 12 views
0

Fire Bugで検査されたElement(テキストボックス)が以下に示されています。私はコードの一部に使用する必要があり、この要素のどの属性利用可能な属性がfindElementメソッドで識別できない場合にWebElementを見つける方法

input class="text-input--underbar ng-pristine ng-valid ng-touched" 
    type="tel" placeholder="Mobile Number" ng-model="credentials.loginName" name="" 

は以下の通り:

driver.findElement(By. 

*注:findElement方法により同定されていない上記の すべての属性。 私は任意のテストフレームワークを使用していない(Junit4、TestNGの等。)

答えて

1

あなたはCSSセレクタ使用することができます

driver.findElement(By.cssSelector("input[ng-model='credentials.loginName']")).sendKeys("1234"); 

または:

driver.findElement(By.cssSelector("input[placeholder='Mobile Number']")).sendKeys("1234"); 
0

は、要素の両親のいずれかを実行します簡単に検出できるIDまたはクラスを持っていますか?そうであれば、それらの要素を見つけて、その中で子要素を検索します。

<div class="class1"> 
    <input class="text-input--underbar ng-pristine ng-valid ng-touched" type="tel" placeholder="Mobile Number" ng-model="credentials.loginName" name="" /> 
</div> 

が、私はあなたが属性に '@'を使用する必要があります driver.findElement(By.className("class1")).findElement(By.tagName("input"));

0

を使用します。たとえば、この場合は、あなたのDOMました。 follwingのいずれかを使用します。XPathを書き込むため

の1- driver.findElement(By.xpath("//input[@placeholder='Mobile Number']"));

2 - driver.findElement(By.xpath("//input[@ng-model='credentials.loginName']"));

http://www.w3schools.com/xsl/xpath_axes.asp

を参照してください。
関連する問題