棘手的选择器casperjs隐藏div

时间:2016-05-03 14:54:28

标签: javascript forms selector casperjs

在我看来,我有一个非常棘手的形式。表单更改div,隐藏字段和&每次重装时都会被识别出来。我无法找到它如何变化的模式。

这是类.box.box500的一个示例:

    <div class="box box500" style="float:left;display:none;">
<span class="errorText"></span>
<br>
<input id="czoyNToiaWhfYlNEaDg0ZGNkVi00bUxtckxLZ2cuLiI7" type="text" name="czoyNToiaWhfYlNEaDg0ZGNkVi00bUxtckxLZ2cuLiI7" value="">
</div>
<div id="boxFirma" style="display: none;margin-top: 20px;">
<div class="" style="float:left;left;margin-left:10px;display:none;">
<a name="personal"></a>
<div style="overflow:hidden; margin-top: 20px;">
<div class="box box500 " style="display:none;">
<input id="czoyNToiaWhfYlNEaDg0ZGNkUjh3d2tOOFJFd2cuLiI7" type="text" value="" name="czoyNToiaWhfYlNEaDg0ZGNkUjh3d2tOOFJFd2cuLiI7">
<br>
<span class="errorText"></span>
</div>
<div class="box box500 " style="float: left;">
<input id="czoyNToiaWhfYlNEaDg0ZGNlVFpMRjFVWjZicEEuLiI7" type="hidden" value="" name="czoyNToiaWhfYlNEaDg0ZGNlVFpMRjFVWjZicEEuLiI7">
<input id="czoyNToiaVhxemVtUGRZOHluMkNxdE9pWEd1Y1EuLiI7" type="text" value="" name="czoyNToiaVhxemVtUGRZOHluMkNxdE9pWEd1Y1EuLiI7">
<br>
<span class="errorText"></span>
</div>
<div class="box box502 " style="float: left;margin-left: 20px;">
<input id="czoxMzoiaXgtQTNQT3VWVmprLiI7" type="text" value="" name="czoxMzoiaXgtQTNQT3VWVmprLiI7">
<br>
<span class="errorText"></span>
</div>
</div>

有时第一个隐藏的div就在那里,有时则不然。每次重新加载时,id都会更改。隐藏的输入有时是第一个孩子,有时是第二个孩子。也就是div,有时候在第二个孩子的第一个孩子。我真的不知道如何识别输入字段。

是否可以选择输入字段,如:

this.sendKeys('.box.box500:nth-child(2):style="float: left;" > input:nth-child(2):type="text"', 'text');

2 个答案:

答案 0 :(得分:1)

你能否使用选择器:

this.sendKeys('div.box.box500 input[type="text"]:not([style*="display: none"])', ...);

我相信无论页面上的顺序如何,都会找到所有特定输入类型=“text”。

答案 1 :(得分:1)

这是有效的:

this.sendKeys('div.box.box500:not([style*="none"]) input[type="text"]', ...);
相关问题