我在Python中有一个以前使用过Firefox的Selenium脚本,但该网站在文本框中安装了一个keyhandler,它不会接受任何输入。在这一行它将冻结,并无法完成命令。我用常规击键测试它,结果相同。
text_box.click()
text_box.send_keys(Keys.COMMAND, "a")
有没有办法覆盖这个?我在下面的文本框中添加了Javascript和HTML。
function WebForm_TextBoxKeyHandler(event) {
if (event.keyCode == 13) {
var target;
if (__nonMSDOMBrowser) {
target = event.target;
}
else {
target = event.srcElement;
}
if ((typeof(target) != "undefined") && (target != null)) {
if (typeof(target.onchange) != "undefined") {
target.onchange();
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false;
}
}
}
return true;
<input name="ctl00$cph1$d1$txtEndDate" value="09/02/2016" onchange="javascript:setTimeout('__doPostBack(\'ctl00$cph1$d1$txtEndDate\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="ctl00_cph1_d1_txtEndDate" textchanged="txtEndDate_TextChanged" style="width:86px;margin-left:30px;" type="text">