自动化:在输入字段中键入会引发错误

时间:2018-12-18 02:42:33

标签: javascript python selenium

我正在尝试自动化this website。网站中的验证码字段似乎具有某种机制,可通过该机制来检测输入是否已自动化。我正在使用以下代码将密钥发送到验证码输入。

driver.find_element_by_id('captcha').send_keys(captcha_solution)

我观察到,即使文本在文本字段上可见,元素的value属性仍然为空,如下所示

enter image description here

与输入字段相关的以下两个事件:

function invalid(e, t) {
  if (h._enabled) {
    var n = d.getPooled(e, t);
    try {
      c.batchedUpdates(p, n)
    } finally {
      d.release(n)
    }
  }
}
function onChange() {
  var e = this.__base;
  this.__base = a.__base;
  var t = r.apply(this, arguments);
  return this.__base = e, t
}

当我删除输入并用键盘输入时,value属性的设置如下所示

enter image description here

那么我将如何解决此问题。我也尝试通过javascript设置value,但是存在相同的问题。

1 个答案:

答案 0 :(得分:1)

所以这对我有用:

$(".captcha-wrapper .form__field.form__field_filled .textinput.textinput_theme_normal.textinput_size_m #captcha[name='captcha'][type='text']").val('123'), 

使用selenium的browser.execute_script执行此Jquery,让我们知道它是否有效