RSelenium
パッケージを使用して、Webサイトにログオンして何らかのプロセスを実行するプロセスを自動化しようとしています。私はここでボタンをクリックしてログインすることができましたが、私はこのページでjQuery
の機能を実行していません。 jQuery
機能を使用してデータを入力するドロップダウンボックスがあります。私はどのようにこの機能を実行するか分からない。次のようにページのソースには、(jQuery
機能を含む)である:RSeleniumパッケージを使用して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()
:
次のコマンドを実行します私はクリックがドロップダウンのデータを自動入力することを望んでいました。
RSelenium
を使用してjQuery関数を実行する方法についてのあらゆる指摘が非常に高く評価されます。
別のパッケージを使用してjQuery
関数を実行することができても、それは問題ありません。私はこの機能を実行して要素をクリックしたいと思います。
PS - 私はウェブ開発者ではないので、私は愚かな質問をしている場合は私を許してください。
EDIT:
私が提案どおりに次のコードを試してみました:このコマンドで
を、私はすべて二重引用符("
)に代わる、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
要素がまだ見つからないように見えます。
は、それはあなたがそうそれはに少し簡単です興味を持っているウェブサイトを提供することが可能です再現しますか? – Dason
私は実際に内部のテストウェブサイト上でそれをやっているので、リンクを公開することはできません、ごめんなさい:( – Patthebug
これは野生のガチョウの追跡かもしれませんが、同じ2つのIDがある可能性はありますか?私は同じIDを持っている別の要素をクリックするようにしようとしていた間、それはdivの下にあって "見えない" IDの上で行動しようとしていた前に、セレンと頭痛を引き起こした。 – Joy