2017-07-26 11 views
0

を返し、innerHTMLプロパティを取得する()が、私はそれをしようとするとき、私はinnerHTMLのは関数ではありません取得します。 私はドキュメント上で見てきたとfindElementsが配列を返す必要がありますが、私はアイテムの種類をチェックすると、オブジェクトが自分GitHubからセレンWebDriveのfindElementsは、いくつかのテーブルの上にループに私がしようとしているオブジェクト

var webdriver = require('selenium-webdriver'), 
     By = webdriver.By, 
     until = webdriver.until; 

    var driver = new webdriver.Builder() 
     .forBrowser('firefox') 
     .build(); 

    driver.get('https://stackoverflow.com/'); 

    driver.findElements(By.xpath('//*[@id="question-mini-list"]/div')) 
    .then(function(item) { 
     console.log(item); 
    }); 
+0

私はあなたの質問は、あなたがすべての要素を得るのですかあると仮定?ところでWebElementsのリストを返しますfindElements' 'Javaでは – Edwin

+0

あなたが実際にあなたがテキストの方法.getTextを(使用するよう指定する必要がありすぎて、HTML(または単に小さな例)を提供してください。ここで違うものを受け取るのは奇妙です。あなたはちょうどそれが結果を変更するかどうかを確認するためにcssSelector 'By.cssselector( '#質問-ミニ欲望> div''?で試すことができます... – redp

+0

) – Tom

答えて

2

で、findElementsElements含まArray、返します(オブジェクトを!)。

findElements: function(scope) { 
    var element; 

    if (element = $(this.params.id)) 
    if (this.match(element)) 
     if (!scope || Element.childOf(element, scope)) 
     return [element]; 

    scope = (scope || document).getElementsByTagName(this.params.tagName || '*'); 

    var results = []; 
    for (var i = 0; i < scope.length; i++) 
    if (this.match(element = scope[i])) 
     results.push(Element.extend(element)); 

    return results; 
} 

innerHTMLプロパティを取得するには、要素にgetAttribute機能を使用することができます。

item[0].getAttribute('innerHTML'); 
+0

はい、ありがとうございます –

関連する問題