【发布时间】:2017-03-02 17:26:10
【问题描述】:
我正在使用 CasperJS 进行爬虫,但我首先需要单击某些内容才能完成页面的搜索过程。但我无法通过其值或内容来选择特定选项。
1.单击父框架中的“全部”按钮:
<select name="sort_id" id="sort_id" class="p9"; display: block;" onclick="javascript: window.setTimeout('Hide_Select("sort_id",false)',3); showDialog('LIST','SearchList.aspx?ddl_id=sort_id&key=lar~sort_id&EncodingName=',460,360,true);return false;">
<option value="">All</option>
</select>
2.跳转到子框架的页面:
<div id="b_div" class="ym-body">
<iframe>
#document
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>
</head>
<body>
<form method="post" action="SearchList.aspx?ddl_id=sort_id&key=lar%7esort_id&EncodingName=" id="form1">
<table>
<tbody>
<tr>
<td>
<select size="2" name="listb_sor" id="listb_sor" onchange="javascript:OptionClick(this,'sort_id');" style="height:300px;width:220px;">
<option value="">All</option>
<option value="001">OptionA</option>
<option value="00001">OptionB</option>
</select>
.......
</iframe>
3.我想选择OptionA。如果成功,子框架会自动关闭。但我无法成功选择 OptionA。
目前我的代码是:
casper.then(function(){
this.click('#sort_id.p9');
this.page.switchToChildFrame(0);
this.evaluate(function() {
var sel = document.querySelectorAll('#listb_sor option');
sel.val('001').onchange();
});
});
但是当我被捕获页面时,似乎代码无法成功选择 OptionA。
【问题讨论】:
标签: javascript jquery iframe casperjs