selenium phantomJS 下载自定义 OCR 图像(aspx 扩展名)

selenium phantomJS download custom OCR image(aspx extension)

[![在此处输入图片描述][1]][1]我有一个由用户名、密码和安全代码组成的登录屏幕。我的目标是利用selenium、phantonJs等技术,将登录界面的OCR码作为图片下载到电脑上。 但是,如以下代码中所述,标记具有 src aspx 扩展名。因此,当我使用 webclient 调用此 src 中的 aspx 路径时,会生成不同的 OCR 图像。 我的目标只是将屏幕上的代码作为图片下载到我的电脑上 我该怎么做?谢谢

[![<div>

                            <fieldset>
                                <div class="form-group">

                                </div>
                                <div class="form-group">
                                    <input name="txtLoginName" type="text" id="txtLoginName" class="form-control" ><span id="RequiredFieldValidator1">*</span>
                                </div>
                                <div class="form-group">
                                    <input name="txtPassword" type="password" id="txtPassword" class="form-control" ><span id="RequiredFieldValidator2" >*</span>
                                </div>

                                <div>
                                    <img id="imgCap" src="./login_files/RetCap.aspx" style="height:30px;width:100px;border-width:0px;">
                                    <input name="txtCap" type="text" id="txtCap" class="form-control" >
                                </div>



</div>][1]][1]

您可以在该元素上截取屏幕截图并使用来自库 Apache Commons IO (here is a link with repository of lib, you have the option to download directly as jar)

FileUtils.copyFile() 保存它

您可以通过这种方式截取特定元素的屏幕截图。

WebElement elem = driver.findElement(By.xpath("//*[@id='imgCap']"));

File scrFile = ((TakesScreenshot)elem).getScreenshotAs(OutputType.FILE);

FileUtils.copyFile(scrFile, new File( "path/where/to/save.jpg" ));

P.S.: 如果要对整个浏览器进行截图,请将 (TakesScreenshot)elem 更改为 driver