У меня есть скрипт Rselenium для заполнения form, но я пытаюсь использовать CasperJS, поскольку я нахожу Rselenium слишком медленным. Следующий код будет перемещаться по форме, как я ожидаю.CasperJS эквивалент RSelenium для заполнения формы
remote.driver$navigate("http://news.ceek.jp/search.cgi?kind=sports")
search.form <- remote.driver$findElement(using = "xpath", "//*[@id='query']")
search.form$sendKeysToElement(list("SearchTerm",key = "enter"))
Эквивалентный код CasperJS, который я пробовал, является следующим:
var casper = require("casper").create();
casper.start("http://news.ceek.jp/search.cgi?kind=sports", function() {
this.test.assertExists({
type: 'xpath',
path: '//*[@id="query"]'
}, 'the element exists');
});
casper.then(function() {
this.fill('input[name="q"]', {q:'SearchTerm'}, true);
});
Выход из камеры;
PASS the element exists
CasperError: Errors encountered while filling form: no field named "q" in form
RSelenium имеет то преимущество, что параметр формы не нужно быть указано, но предположительно casperJS требует этого. Что я должен использовать вместо этого?
Я проверяю элементы, но столкнулся с проблемой определения параметра формы в таком случае. Как это происходит в целом?