2012-04-30 7 views
0

セレンのあるWebページでこの特定のテキストを解析しようとしましたが、なぜ私が望むテキストを表示できないのか分かりません。ページ上のコードスニペットはそのままですファイヤーバグでテキストを取得する際の問題xpathまたはcssセレクタ

<div id="BVRRRatingOverall_Review_Display" class="BVRRRating BVRRRatingNormal BVRRRatingOverall"> 
<div class="BVRRLabel BVRRRatingNormalLabel"/> 
<div class="BVRRRatingNormalOutOf"> 
<span class="BVRRNumber BVRRRatingNumber">4</span> 
<span class="BVRRSeparatorText">out of</span> 
<span class="BVRRNumber BVRRRatingRangeNumber">5</span> 
</div> 
</div> 

ここでは、「4 out of 5」というテキストを取得したいと考えています。私は私のxpath/cssSelectorが有効だが、セレンはまだテキストを見つけることができませんチェックするために火薬爆弾を使用しています。私もwaitとcssSelectorsの異なる実装を試してこれを修正しようとしました。何も動作していないようです。私は現在で働いていたコードは

私はちょうどスクリーニングする「のうちのテスト」を印刷しようとしていますが、私は唯一の「テスト」を印刷する
String Url2 = "http://www.walmart.com/catalog/allReviews.do?product_id=16207347"; 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
driver.get(Url2); 
System.out.println("test" + driver.findElement(By.cssSelector(".BVRRSeparatorText")).getText()); 

です。私はこれをどのように働かせることができるか知っていますか?私はインターネットの周りを見回しましたが、私は何も見つかりませんでした。

私はテキストが実際にWebページ上に表示されることはありませんので、問題があると思います*私もこのような場合のためにテストしてい同等のXPathは//*[@id='BVRRRatingOverall_Review_Display']/div[@class='BVRRRatingNormalOutOf']/span[@class='BVRRSeparatorText']

編集です。そのテキストは、ページ上の要素にカーソルを置いたときにのみ表示されます。

答えて

0

代わりに、評価星画像の代替テキストを取得できます。

Rubyの構文は(他の言語のための正確な構文わからないが、同様に存在するはず)です。

e = driver.find_element(:css, ".BVImgOrSprite")              
puts e.attribute('alt')                  
# => 4 out of 5  
関連する問題