У меня есть скрипт 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 в том, что параметр form не нужно указывать, но предположительно это требует casperJS. Что я должен использовать вместо этого?
Я проверяю элементы, но в таком случае у меня возникают проблемы с определением параметра формы. Как к этому вообще относятся?