Подтвердить что ты не робот

Выполнить функцию jQuery с помощью пакета RSelenium

Я пытаюсь автоматизировать процесс входа на веб-сайт и выполнить на нем некоторый процесс, используя пакет RSelenium. Я смог войти в систему, нажимать кнопки здесь и там, но я застрял при выполнении функции 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 - Я не веб-разработчик, поэтому простите меня, если я задам глупый вопрос.

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

Похоже, что элемент все еще не найден.

4b9b3361

Ответ 1

Я не знаю, какой драйвер вы используете, но с драйвером chrome для PHP вы это делаете:

$javascript = array('script' => 'myfunction();', 'args' => array());
$var = $this->execute($javascript);