0
我有一個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);
});
從casper輸出;
PASS the element exists
CasperError: Errors encountered while filling form: no field named "q" in form
RSelenium的優點是表單參數不需要指定,但大概casperJS需要這個。我應該用什麼來代替?
我正在檢查元素,但無法在這種情況下識別表單參數。一般人如何去做這件事?