フォームに入力するための Rselenium スクリプトがありますが、Rselenium が遅すぎるため、CasperJS を使用しようとしています。次のコードは、期待どおりにフォームをナビゲートします。
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 にはこれが必要です。代わりに何を使用すればよいですか?
要素を調べていますが、そのような場合にフォームパラメータを特定するのに苦労しています。一般的に、これについてどのように対処しますか?