PhantomJS中的下拉操作
Dropdown Manipulation in PhantomJS
我正在尝试提交一个表单,仅与下拉菜单一致,以便进入另一个页面。但是,我不知道如何选择下拉列表。下面的示例表示我正在处理的内容。
<select name="p_term" size="1" id="term_input_id">
<option value="">None
</option><option value="201605">Summer Session: May - Aug 2016
</option><option value="201601">Second Term: Jan - Apr 2016
</select>
我试过了
document.getElementById('term_input_id').value='201601';
但是 PhantomJS 不会用这一行运行我的其余代码。
select
元素不像输入,你不能直接赋值。
var val = 201601;
var sel = document.getElementById('term_input_id');
var opts = sel.options;
for(var opt, j = 0; opt = opts[j]; j++) {
if(opt.value == val) {
sel.selectedIndex = j;
// or:
// opt.selected = true
break;
}
}
(来自这个优秀的答案)
然后,您必须触发将页面重定向到另一个位置onchange
事件:
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
sel.dispatchEvent(evt);
(从这个答案)
但是 PhantomJS 不会用这一行运行我的其余代码。
要找出导致脚本中断的错误,请订阅 page.onError 回调。
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- fluxxor向一个flux实例添加一组以上的操作
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 操作放置在画布上的元素之间的连接
- 使用“+="操作人员
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Jquery未定义函数正在停止其他操作
- 如何操作iframe之外的元素
- javascript对象操作:根据指定条件选择属性
- jQuery:暂停按钮可以暂停所有其他操作
- 我如何才能让CasperJS和PhantomJS在约塞米蒂玩得很好
- 用于选择/文本框操作的JavaScript
- PhantomJS - 检查javascript函数是否正在运行的任何方法
- PhantomJS中的下拉操作
- 使用 PhantomJS 的 DOM 操作
- Phantomjs 检查响应标头,然后执行某些操作