2016-06-15 20 views
1

IDとタグ名を使用してWebページから製品の説明を取得しようとしていますが、印刷すると空白になります。しかし、私は要素を見つけるために正しいロケータを使用したと思います。私はPythonで、あなたが、あなた」のテキストを取得するためにgetText()を使用することができ、有効なCSSセレクタでBy.id("inspirational_copy").tagName("p")を交換する場合は、それをテストしデータがSelenium Webドライバを使用してキャプチャされていません

ページのソース

<div id="item-description-block" class="layout-container layout-container-background clearfix"> 
<h2>About this item</h2> 
<div id="social_share" class="details-row" onclick="javascript:clickPDP('Share','123070751499');"> 
<div class="details-row clear_both"> 
<div id="inspirational_copy"> 
<p>The big plus: Our new formula now helps strengthen skin's own moisture barrier. More moisture stays in. Skin feels soft, springy. Has a healthy-looking glow.</p> 
</div> 

ウェブドライバコード

driver.get("http://www.debenhams.com/webapp/wcs/stores/servlet/prod_10701_10001_123070751499_-1"); 
WebElement description =driver.findElement(By.id("inspirational_copy").tagName("p")); 
String description1 = description.getText(); 
+0

私は段落の文字列を欲しい - 大きなプラス:私たちの新しいフォーミュラは、今では肌自身の水分バリアを強化するのに役立ちます。より多くの水分が入っています。肌は柔らかく弾力があります。健康的な輝きがあります。 –

+0

ありがとう@RemcoW、私はこれを試みましたが、この段落と同じ結果がまだ出力に表示されません。あなたが他の方法で助けることができると思います。 –

+0

私は私の答えを編集しました、それを見てください。歓迎のメッセージが私にテキストを手に入れることを妨げました、これはあなたの問題でもあります。 – RemcoW

答えて

0

再探しています。

driver.get("http://www.debenhams.com/webapp/wcs/stores/servlet/prod_10701_10001_123070751499_-1"); 
WebElement description =driver.findElement(By.cssSelector("div[id='inspirational_copy']>p")); 
String description1 = description.getText(); 

私はページに到着したときに私は歓迎メッセージを受けました。このメッセージは、私がテキストを受け取ることを妨げていました。それを閉じた後、問題なく要素とテキストを得ることができました。

WebElement close = driver.findElement(By.cssSelector("button[title='Close']"); 
close.click() 
+0

私はそれが問題ではないと思う(ようこそメッセージ)私はそれから他のデータを取り出すことができます、私は探しているこの段落との問題です。あなたはこのテキストを取得することができます場合は、Javaで試すことができます。 –

+0

残念ながら私はJavaでそれを試してみません。あなたはその提案を試しましたか?それに打撃を与えることはできません。 – RemcoW

+0

ありがとうございます@RemcoW。私はあなたが提供したコードでウェルカムメッセージを閉じた後で、この段落を取得できるようになりました。 'WebElement close = driver.findElement( "button [title =' Close ']"); close.click()' –

0

あなたは

driver.findelement(By.xpath("//div[@id='inspirational_copy']/p")); 
String description1 = description.getText(); 

ロケータとしてXPathを使って、簡単にこの問題を解決することができますが、これは必要なテキストを取得します願っています。

+0

私はすでにこれを試しましたが、残念ながら出力が得られません。これが動作していて、希望の出力が得られたら、最後にテストしましたか?あなたはどのブラウザでテストしていますか。 –

+0

これはウェルカムメッセージに問題があります。最初にそれを閉じるためのスクリプトを書いてからgettext()method.iを使用してください。 – SaiPawan

+0

Firefox 46と互換性のあるセレンのバージョンはどれですか? –

0
String description1 = driver.findElement(By.xpath("//*[@id="inspirational_copy"]/p")).getText(); 
関連する問題