是否可以使用Java从Selenium WebDriver获取验证码图像中的文本?

时间:2014-09-29 14:52:32

标签: selenium-webdriver captcha

如何从验证码图像中捕获文本?有什么方法吗? 我试过了:

String attr = driver.findElement(By.xpath("//*[@id='recaptcha_challenge_image']")).getAttribute("value");
        System.out.println(attr);

4 个答案:

答案 0 :(得分:1)

你不能。

验证码的重点是计算机或脚本无法知道答案是什么。

答案 1 :(得分:0)

不,这是不可能的。验证码图像只是一个图像。除非你找到了一个文本识别功能/方法来做到这一点,并且是一个很好的问题。 Captcha应该从文本生成图像,该图像通常存储在Session变量中。您可以尝试访问它。

我编写了自己的Captcha类,因为我也需要进行客户端验证(没有jQuery)。

答案 2 :(得分:0)

Captcha上的文字无法读取,因为它嵌入在图像中,有在线软件用于读取Captcha上的文本,但它们不可靠可能无法提供所需的结果。这些软件也称为光学字符识别(OCR) 如果您想试用这些软件,可以搜索以下内容:

Asprise OCR

Tess4j

Java OCR

答案 3 :(得分:0)

爵士

如果你是自动化验证码,那么它清楚地表明你正在击败验证码。

验证码的目的不是自动化。