20

RSeleniumパッケージを使用して、Web サイトにログオンし、その上で何らかのプロセスを実行するプロセスを自動化しようとしています。ログインできて、あちこちのボタンをクリックできましたがjQuery、ページで機能を実行するのに行き詰まりました。関数を使用してデータを入力するドロップダウン ボックスがありjQueryます。この関数を実行する方法がわかりません。ページのソース (jQuery関数を含む) は次のとおりです。

 <input disabled="disabled" id="stuff" name="stuff" style="width:100%" type="text" /><script>
    jQuery(function(){jQuery("#stuff").kendoDropDownList({"change":disableNext,"dataSource":{"transport":{"read":{"url":"/StuffInfo/GetStuff","data":filterStuff},"prefix":""},"serverFiltering":true,"filter":[],"schema":{"errors":"Errors"}},"autoBind":false,"optionLabel":"Select court...","cascadeFrom":"state"});});
</script>
            <script>

ドロップダウンの名前は でstuff、次のコードを使用してアクセスしています。

library("RSelenium")

startServer()
mybrowser <- remoteDriver()
mybrowser$open()
mybrowser$navigate("<URL>")
wxChooseStuff <- mybrowser$findElement(using='id',"stuff")

次のコマンドを実行しようとすると:

wxChooseStuff$clickElement()

次のエラーが表示されます。

Error:   Summary: ElementNotVisible
     Detail: An element command could not be completed because the element is not visible on the page.
     class: org.openqa.selenium.ElementNotVisibleException

クリックするとドロップダウンにデータが自動入力されることを期待していました。

を使用してjQuery関数を実行する方法についてのポインタはRSelenium大歓迎です。

jQuery別のパッケージを使用して関数を実行できても、それで問題ありません。この関数を実行して要素をクリックするだけです。

PS - 私は Web 開発者ではないので、ばかげた質問をしている場合はご容赦ください。

編集:

提案に従って次のコードを試しました:

このコマンドでは、すべての二重引用符 ( ) を単一引用符 ( )にscript置き換えて、タグで囲まれた完全なテキストを含めます。"'

 mybrowser$executeScript(script = "jQuery(function(){jQuery('#stuff').kendoDropDownList({'change':disableNext,'dataSource':{'transport':{'read':{'url':'/StuffInfo/GetStuff','data':filterStuff},'prefix':''},'serverFiltering':true,'filter':[],'schema':{'errors':'Errors'}},'autoBind':false,'optionLabel':'Select court...','cascadeFrom':'state'});});")

wxChooseStuff <- mybrowser$findElement(using='id',"stuff")
mybrowser$executeScript(script = "arguments[0].hidden = false;", 
                        args = list(wxChooseStuff))
wxChooseStuff$clickElement()

しかし、私は次のエラーを受け取りました:

Error:   Summary: ElementNotVisible
     Detail: An element command could not be completed because the element is not visible on the page.
     class: org.openqa.selenium.ElementNotVisibleException

要素がまだ見つからないようです。

4

2 に答える 2