casperjs中fill()方法的使用
Signature: fill(String selector, Object values[, Boolean submit])
Fills the fields of a form with given values and optionally submits it. Fields are referenced by their name attribute.
Changed in version 1.1: To use CSS3 or XPath selectors instead, check the fillSelectors() and fillXPath() methods.
Example with this sample html form:
<form action="/contact" id="contact-form" enctype="multipart/form-data">
<input type="text" name="subject"/>
<textearea name="content"></textearea>
<input type="radio" name="civility" value="Mr"/> Mr
<input type="radio" name="civility" value="Mrs"/> Mrs
<input type="text" name="name"/>
<input type="email" name="email"/>
<input type="file" name="attachment"/>
<input type="checkbox" name="cc"/> Receive a copy
<input type="submit"/>
</form>
A script to fill and submit this form:
casper.start('http://some.tld/contact.form', function() {
this.fill('form#contact-form', {
'subject': 'I am watching you',
'content': 'So be careful.',
'civility': 'Mr',
'name': 'Chuck Norris',
'email': 'chuck@norris.com',
'cc': true,
'attachment': '/Users/chuck/roundhousekick.doc'
}, true);
});
casper.then(function() {
this.evaluateOrDie(function() {
return /message sent/.test(document.body.innerText);
}, 'sending message failed');
});
casper.run(function() {
this.echo('message sent').exit();
});
The fill() method supports single selects in the same way as text input. For multiple selects, supply an array of
values to match against:
<form action="/contact" id="contact-form" enctype="multipart/form-data">
<select multiple name="category">
<option value="0">Friends</option>
<option value="1">Family</option>
<option value="2">Acquitances</option>
<option value="3">Colleagues</option>
</select>
</form>
A script to select multiple options for category in this form:
casper.then(function() {
this.fill('form#contact-form', {
'categories': ['0', '1'] // Friends and Family
});
});
Warning:
1. The fill() method currently can’t fill file fields using XPath selectors; PhantomJS natively only allows
the use of CSS3 selectors in its uploadFile() method, hence this limitation.
2. Please Don’t use CasperJS nor PhantomJS to send spam, or I’ll be calling the Chuck. More seriously, please
just don’t.
相關文章
- Casperjs中fill提交表單遇到的問題JS
- casperjs中start方法的使用方法總結JS
- casperjs中getPageContent()方法及getHTML()方法的使用JSHTML
- casperjs中的open()和thenOpen()使用說明JS
- 使用 CasperJS 構建 Web 爬蟲JSWeb爬蟲
- 使用 CasperJS 進行簡單的 UI 測試JSUI
- canvas fill()Canvas
- 簡單介紹js 陣列 fill() 填充方法JS陣列
- casperjs問題收集JS
- 三篇文件學會使用casperjs製作爬蟲JS爬蟲
- JavaScript 陣列fill()JavaScript陣列
- JavaScript 陣列 fill()JavaScript陣列
- casperjs 安裝試用JS
- fill和fill_n為區間所有元素賦值val賦值
- CSS text-fill-colorCSS
- SVG 動畫 fill 屬性SVG動畫
- [CareerCup] 9.7 Paint Fill 填充AI
- 使用python/casperjs編寫終極爬蟲-客戶端App的抓取PythonJS爬蟲客戶端APP
- jquery 中 $.map 的使用方法jQuery
- YogaKit中 position 的使用方法
- react中hooks的使用方法ReactHook
- Python中sort()方法的使用Python
- Oracle中“HINT”的使用方法Oracle
- Oracle中sequence的使用方法Oracle
- python中的特殊方法使用Python
- fill-opacity 屬性
- java中json的使用方法JavaJSON
- Linux 中 ranger 的使用方法LinuxRanger
- Java中try()catch{}的使用方法Java
- Go 中 io 包的使用方法Go
- 一個有趣的問題, 你知道SqlDataAdapter中的Fill是怎麼實現的嗎SQLLDAAPT
- CSS3 animation-fill-modeCSSS3
- CSS3 text-fill-colorCSSS3
- WPF Stretch None,Fill,Uniform,UnformToFillNoneORM
- C# generate listview and fill data no xamlC#View
- Java script 中的函式使用方法Java函式
- Django中 render() 函式的使用方法Django函式
- JavaScript 中陣列 sort() 方法的基本使用JavaScript陣列