-1

我有一个网站https://www.ultimateqa.com/complicated-page/在该网站上有一个要填写的表格,其中有一个 Captcha,它产生随机数并要求用户进行加法并输入一个数字。

我正在尝试使用 Java 在 Selenium 上执行此操作。

如何验证随机数,取它们,进行计算,然后将答案添加到输入字段?

4

1 回答 1

1
  1. 找到持有验证码挑战的网络元素

    WebElement element = driver.findElement(By.className("et_pb_contact_captcha_question"));
    
  2. 将其文本转换为String

    String captchaText = element.getText();
    
  3. 使用 ie ScriptEngine评估字符串值

    String captchaResult = new javax.script.ScriptEngineManager().getEngineByName("javascript").eval(captchaText).toString();
    
  4. 应该是这样的:

    在此处输入图像描述

在更复杂的验证码挑战中,您无法在页面源中找到值,您将不得不使用 OCR 或图像识别库,如OpenCVTesseractSeeTest

于 2019-05-22T19:29:04.750 回答