1
ドロップダウンリストに問題があります。リストは満たされていません。私はcasper.fillを使用して、クリックしてください、それが動作しません。.. HTML:CasperJSのドロップダウンリストを入力
<form id="login-form" novalidate="novalidate" name="login-form" >
<div class="select">
<input name="cardType" value=" " type="hidden"> </input>
<select name="switch-card-type" name="cardType">
<option value="1">text 1
<option value="2">text 2
<option value="3">text 3
</select>
</div>
<div class="select-area custom-select-89578">
<div class="center">text 2</div>
<a tabindex="-1" href="#" class="select-button"></a>
<div class="drop-box drop-undefined drop-89578">
<div class="cssbody">
<ul>
<li class data-index="0">
<a href="#">"text 1"</a>
</li>
<li class ="selected" data-index="1">
<a href="#">"text 2"</a>
</li>
<li data-index="2">
<a href="#">"text 3"</a>
</li>
</ul>
</div>
</div>
</form>
CasperJS:
casper.waitForSelector("form#login-form",function() {
this.fill('form#login-form', {
'switch-card-type':'2'});
});
または
casper.waitForSelector("form#login-bonus-card-form",function() {
this.click(x('//*[@id="login-form"]/div[2]/a'));
this.click(x('//div[@class="drop-box drop-undefined drop-89578"]/div/ul/li[2]/a'));
});
エラー、リストにはありませんペン
デバッグがはっきりしています。 最初の場合:
[info] [remote] attempting to fetch form element from selector: 'form#login-card'
[debug] [remote] Set "switch-card-type" field value to 2
[info] [phantom] Step success 7/12: done in 1688ms.
実際には値は選択されていません。エラーはありません。..
秒の場合:最初のクリックが作業をdoes't
[debug] [phantom] Mouse event 'mousedown' on selector: xpath selector: //*[@id="login-form"]/div[2]/a
[debug] [phantom] Mouse event 'mouseup' on selector: xpath selector: //*[@id="login-form"]/div[2]/a
[debug] [phantom] Mouse event 'click' on selector: xpath selector: //*[@id="login-form"]/div[2]/a
[debug] [phantom] Mouse event 'mousedown' on selector: xpath selector://div[@class="drop-box drop-undefined drop-89578"]/div/ul/li[2]/a
FAIL Cannot dispatch mousedown event on nonexistent selector: xpath selector: //div[@class="drop-box drop-undefined drop-89578"]/div/ul/li[2]/a enter code here
# type: uncaughtError
# file: testcase/test2.js:1378
# error: Cannot dispatch mousedown event on nonexistent selector: xpath selector: //div[@class="drop-box drop-undefined drop-89578"]/div/ul/li[2]/a
# [email protected]://platform/casper.js:1378:105
# [email protected]://platform/casper.js:467:34
# [email protected]://code/mvideo_lib.js:353:15
# [email protected]://platform/casper.js:1577:31
# [email protected]://platform/casper.js:404:28
# stack: not provided
ので...
どのPhantomJSバージョンを使用しますか? 'resource.error'、' page.error'、 'remote.message'、' casper.page.onResourceTimeout'イベントに登録してください([Example](https://gist.github.com/artjomb/4cf43d16ce50d8674fdf#file) -2_caspererrors-js))。多分エラーがあるかもしれません。 @ArtjomB。 –
PhantomJS 2.1.1。 エラーが説明に追加されます。 –