1
Ich habe ein Problem mit der Dropdown-Liste. Liste ist nicht gefüllt. Ich versuche casper.fill zu verwenden und klicken Sie auf, aber es funktioniert nicht .. html:Füllen Dropdown-Liste in 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'});
});
oder
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'));
});
Fehler, Liste nicht o Stift
Debug ist klar. Im ersten Fall:
[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.
Aber wirklich Wert nicht ausgewählt. Es gibt keine Fehler ..
Im zweiten Fall:
[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
Weil ersten Klick Arbeit does ..
Welche PhantomJS-Version verwenden Sie? Bitte registrieren Sie sich für die Ereignisse 'resource.error',' page.error', 'remote.message' und' casper.page.onResourceTimeout' ([Beispiel] (https://gist.github.com/artjomb/4cf43d16ce50d8674fdf#file) -2_caspererrors-js)). Vielleicht gibt es Fehler. –
@ArtjomB. PhantomJS 2.1.1. Fehler zur Beschreibung hinzufügen. –