如何使用keyhandler在网页上使用Selenium将密钥发送到文本框

时间:2016-09-05 09:05:50

标签: javascript python-3.x selenium-webdriver textbox keystroke

我在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">

0 个答案:

没有答案