我有输入元素如下所示:
<input type="text" class="bg-white" id="couponCode" value="">
如何使用casperJs设置/填充其值
答案 0 :(得分:41)
使用casper.sendKeys('selector', value);
http://casperjs.readthedocs.org/en/latest/modules/casper.html#sendkeys
答案 1 :(得分:0)
有几种不同的方法可用于完成此任务。
除非需要执行更复杂的操作,否则应使用casper.sendKeys()
。
casper.sendKeys()
:如果您想在 CasperJS环境中设置值,并且input
元素可选地位于form
元素内,则您可以使用casper.sendKeys()
:
casper.sendKeys('#couponCode', 'Hello, world!');
casper.fill()
:如果您想通过 CasperJS环境设置值,并且input
元素位于内,并且< strong>包含一个form
属性,则可以使用name
:
casper.fill()
casper.fillSelectors()
:如果您想在 CasperJS环境中设置值,并且casper.fill('#form', {
couponCode: 'Hello, world!', // #form [name="couponCode"]
});
元素位于{1}}元素内,则您想要使用CSS3选择器引用input
元素,则可以使用form
:
input
casper.fillLabels()
:如果您想通过 CasperJS环境设置值,并且casper.fillSelectors()
元素位于内,并且< strong>包含与文本关联的casper.fillSelectors('#form', {
'#couponCode': 'Hello, world!', // #form #couponCode
});
元素,然后您可以使用input
:
form
casper.fillXPath()
:如果您想在 CasperJS环境中设置值,并且label
元素位于{1}}元素内,则您想要使用XPath选择器引用casper.fillLabels()
元素,则可以使用casper.fillLabels('#form', {
couponCode: 'Hello, world!', // #form label[text()="couponCode"] input
});
:
input
casper.evaluate()
:如果您想通过 Page DOM环境设置值,并且form
元素可选地位于input
元素内,那么您可以使用casper.fillXPath()
:
casper.fillXPath('#form', {
'//*[@id="couponCode"]': 'Hello, world!', // #form #couponCode
});
注意:类似于
input
,您也可以使用:evaluateOrDie()
,thenEvaluate()
或thenOpenAndEvaluate()
(如果您想完成相对于正在执行的步骤,一次执行两个或多个操作。