2016-08-12 23 views
1

RSeleniumを使用してWebサイトからcsvファイルをダウンロードしようとしています。私はCrystal Report Viewerであるページにアクセスし、エクスポートボタンの要素を選択して、そのボタンをクリックします。エクスポート・ウィンドウが表示され、ファイル形式の選択が行われます。私はドロップダウンリストの要素を見つけることができますが、私はリストの値に問題があります。値は次のように非常に長いJavaScriptのスクリプトから来るように見える:RSelenium Javascriptリストからドロップダウン/コンボボックスの値を選択

<script type="text/javascript" language="JavaScript"> 
`{"args":` 

{"args":{"id":"CrystalReportViewer_exportUI","availableFormats":[{"name":"Crystal Reports (RPT)","value":"CrystalReports"},{"name":"PDF","value":"PDF"},{"name":"Microsoft Excel (97-2003)","value":"MSExcel"},{"name":"Microsoft Excel (97-2003) Data-Only","value":"RecordToMSExcel"},{"name":"Microsoft Word (97-2003)","value":"MSWord"},{"name":"Microsoft Word (97-2003) - Editable","value":"EditableRTF"},{"name":"Rich Text Format (RTF)","value":"RTF"},{"name":"Separated Values (CSV)","value":"CharacterSeparatedValues"},{"name":"XML","value":"XML"}]` `</script>

ドロップダウンボックスには、次のようになります。私は、関連する要素を見つけることができています

enter image description here 上記のドロップダウンボックスに移動します。私はショーの上にドロップダウンメニューにリストをクリックし

enter image description here

。値の1つを選択しているときにHTML要素を見ると、選択した値がHTMLコードで更新されます.Javascriptリストから推測します。私は、「区切り値(CSV)」をクリックした後、それは以下のようになります。

<div id="id_name" class="icontext" style="white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:249px">Separated Values (CSV)</div>

を私は次のコードを使用しようとしましたが、それは動作しません:

WebElemFileFormat <- remDr$findElement(using = 'id', "id_name") WebElemFileFormat$clickElement() WebElemFileFormat$sendKeysToElement(list("Separated Values (CSV)"))

私はこれを読んでSelecting a javascript dropdownを投稿してください。しかし、それがどのようにRSeleniumに変換されるかわかりません。事前に多くの感謝。

答えて

3

もう少し研究をした後、私はこれと別のルートを行くことにしました。誰かが同様の問題に遭遇した場合に備えて、私はこれを残しておきます。私は、ドロップダウンボックスを使って遊んだ後で、下向きの矢印やタブを使ってリストを下に移動することができることに気づいた。

私は上記の質問にしたかったものを完了するために、次のコードを使用:私はタブではなく、下矢印を使用することにしました

`WebElemFileFormat <- remDr$findElement(using = 'id', "id_name") 
remDr$setImplicitWaitTimeout(milliseconds = 10000) 
WebElemFileFormat$clickElement() 
remDr$sendKeysToActiveElement(list(key = 'tab')) 
remDr$sendKeysToActiveElement(list(key = 'tab')) 
remDr$sendKeysToActiveElement(list(key = 'tab')) 
remDr$sendKeysToActiveElement(list(key = 'tab')) 
remDr$sendKeysToActiveElement(list(key = 'tab')) 
remDr$sendKeysToActiveElement(list(key = 'tab')) 
remDr$sendKeysToActiveElement(list(key = 'tab')) 
remDr$sendKeysToActiveElement(list(key = 'enter')) 
` 

注意してください。下向き矢印は何らかの理由で機能しませんでした。これが誰かを助けることを願っています

+0

私も同様の問題がありますが、名前でドロップダウンアイテムを選択したいと思います。それも動作しません。あなたの矢の面では間違った名前を書いたかもしれない。 'selKeys'と入力して名前を確認します。矢印は 'down_arrow'などです –

関連する問題