如何在java中显示google验证码?

如何在java中显示google验证码?,java,Java,我刚刚尝试用HTMLUnit创建一个程序,它可以使用用户输入的数据登录网站(当然,它可以做更多的事情,但这是最重要的)。不幸的是,网站总是将我重定向到一个网站,在那里我必须输入谷歌验证码才能继续。这是我的密码: public static void main (String[] args) throws FailingHttpStatusCodeException, MalformedURLException, IOException, InterruptedException{

我刚刚尝试用HTMLUnit创建一个程序,它可以使用用户输入的数据登录网站(当然,它可以做更多的事情,但这是最重要的)。不幸的是,网站总是将我重定向到一个网站,在那里我必须输入谷歌验证码才能继续。这是我的密码:

public static void main (String[] args) throws FailingHttpStatusCodeException, MalformedURLException, IOException, InterruptedException{
        final WebClient webClient = new WebClient(BrowserVersion.CHROME);
        final HtmlPage page1 = webClient.getPage("http://some.website/login");
        final HtmlForm form = page1.getFirstByXPath("//*[@id=\"section-main\"]/div/div[4]/div[2]/div[8]/table/tbody/tr/td/div/div/div/div/table/tbody/tr/td[2]/form");
        final HtmlSubmitInput button = form.getInputByValue("Login");
        final HtmlTextInput email = form.getInputByName("username");
        final HtmlPasswordInput password = (HtmlPasswordInput) form.getByXPath("//*[@id=\"section-main\"]/div/div[4]/div[2]/div[8]/table/tbody/tr/td/div/div/div/div/table/tbody/tr/td[2]/form/div[4]/input").get(0);
        email.setValueAttribute("some@email.com");
        password.setValueAttribute("aPassword");
        final HtmlPage page2 = button.click();
    }

它不工作,它返回按钮、电子邮件和密码的NullPointerException,因为它找不到表单。我知道JDownloader已经构建了类似的东西,但是它在下载页面上不可用。所以,我的问题是:如何向用户显示验证码并让他们输入单词?

您需要使用验证码解析页面并获取到验证码图像的链接。稍后,您需要获取图像数据的内容,并使用
ImageIO
创建
BufferedImage
。最后一步是创建一个窗口
JFrame
,并为用户显示验证码。完美的解决方案是提示输入并张贴答案。是的,这是可能的,我在过去实现了完全相同的解决方案。

JDownloader源代码可用:。请不要把你的假设说成是事实,非常感谢。这让我很伤心:
final HtmlPasswordInput password=(HtmlPasswordInput)form.getByXPath(“/*[@id=\\”section main\”]/div/div[4]/div[2]/div[8]/table/tbody/tr/td/div/div/table/tbody/tr/td[2]/form/div[4]/input”).get(0)是的,有人想出了一个好主意,在那里放了一个脚本,每次重新加载时都会更改密码名称属性,所以我不得不这么做。。。但老实说,我不知道为什么我没有把getFirstByXpath放在那里。。。和@Specializet如果您尝试单击下载站点()上的“JD Source”,它会告诉您“未找到Redmine 404错误页面”。我不知道还有第二个镜像,因为这里只列出了一个镜像。@先生,很明显你根本没有看过维基页面。官方存储库位于svn://svn.jdownloader.org/jdownloader. 我觉得你现在的任务对你来说有点太复杂了……我现在知道怎么做了(多亏了安东尼奥斯),对我来说也不太复杂。我搜索了其他类似于我的问题,它发现了一个链接到下载页面的问题。