2016-09-02 16 views
1

iframe内のテキストをwatir webdriveでコピーして印刷します。 iframeはdiv内にあります。 iframeとdivの両方にIDがあります。iframe内のテキストをコピーして、ワイアウェブドライバで

<div id="sitbReaderKindleSample" style="visibility: visible; width: 497.5px; height: 18138px;"> 
    <iframe id="sitbReaderFrame" scrolling="no" frameborder="0" style="height: 17945px;"> 
</div> 

私のコード

targetURL = "https://www.amazon.in/Secret-Druids-Christopher-C-Doyle- ebook/dp/B01BMD4JF0?ie=UTF8&qid=1472664339&ref_=lp_1318158031_1_2&s=books&sr=1" 

browser.goto targetURL 
browser.image(:id => "ebooksSitbLogoImg").click 
itext = browser.div(:id => 'sitbReaderKindleSample').text 
puts itext 

OUTPUTは、このサンプルのKindleブックの

終了です。 プレビューを楽しんだ? 今すぐ購入

かさえ:

のKindleストア

にこの本の詳細を参照してください。しかし、私はこれを必要としません。これはiframeの外側からのものです。私はiframe内のテキストが必要です。

私は、その出力が

が、私はiTextの=ブラウザ

enter image description here

答えて

1

あなたがやって正しいです:(ワチール-webdriverをのv0.9.1で

  • browser.iframe(:id => 'sitbReaderFrame').text 
    

    あなたは空のStringを取得している場合、それはあなたがワチールの古いバージョンを使用している意味します先行):iframe.textは、iframe要素のテキストノードを返しました。これは常に無効です。

  • Watir-Webdriver v0.9.2(以降):iframe.textiframeコンテキストに切り替えて、bodyというテキスト(希望するもの)を返します。

最新のバージョンを使用していることを確認する必要があります。

+0

更新後、when_present(90 – Ariful

0

ルビーマインのIDEを使用するIFRAME

内のテキストを印刷するのに役立つ必要空白である

itext = browser.iframe(:id => 'sitbReaderFrame').text 

を試してみました.iframe(:id => 'sitbReaderFrame')。body.t ext

これは私のために、チェーンに身体を追加します。

関連する問題