2014-01-20 11 views
32

たとえば、tableの行内からbutton要素をランダムに選択しています。
buttonが見つかったら、選択したボタンが含まれているtableの行を取得します。要素の親を取得する方法

相続人は、私のコードスニペットです:

browser.findElements(by.css('[ng-click*=submit]')).then(function (results) { 
    var randomNum = Math.floor(Math.random() * results.length); 
    var row = results[randomNum]; 
     //^Here I want to get the parent of my random button 
}); 

答えて

23

は、XPathを使用することにしました。最新の分度器(これを書いているとして、1.6.1)のよう

var row = results[randomNum].findElement(by.xpath('ancestor::tr')); 
+21

'by.xpathを(「..」)'また、あなたの親要素を与えるだろう。 – borisdiakur

+1

thx @Legoが短く一般的です – rsboarder

+1

これはもう機能しますか?私は今docsでxpathへの参照を見ることができません。 – mariachimike

28

、構文が少し変更:

var row = results[randomNum].element(by.xpath('..')); 

(代わりにfindElement()element()を使用します)。

1

実際には、現時点では、xpathの使用を避けるために、要素の親を選択する簡単な方法があります。 がElementFinderからあなたは、単にparentElementArrayFinderを介して親要素にアクセスすることができ、例えば、直接click方法をトリガー:

myElement.parentElementArrayFinder.click();

関連する問題