Javascript 我正在尝试使用Jsoup获取验证码的src
我正在尝试使用jsoup从这个网站获取验证码的src URL。问题是当我在chrome中使用inspect时,它会显示验证码的URL,但当我在android项目中使用jsoup访问它时,返回的html不包含任何包含验证码图像链接的img字段和src。它有点隐藏在html中,但仅在我使用chrome中的inspect时显示。我想获取url,以便下载验证码并在imageview中显示。这是该网站的链接 这是html,你可以看到它没有显示img标签 这是我到目前为止写的代码Javascript 我正在尝试使用Jsoup获取验证码的src,javascript,html,asp.net,jsoup,captcha,Javascript,Html,Asp.net,Jsoup,Captcha,我正在尝试使用jsoup从这个网站获取验证码的src URL。问题是当我在chrome中使用inspect时,它会显示验证码的URL,但当我在android项目中使用jsoup访问它时,返回的html不包含任何包含验证码图像链接的img字段和src。它有点隐藏在html中,但仅在我使用chrome中的inspect时显示。我想获取url,以便下载验证码并在imageview中显示。这是该网站的链接 这是html,你可以看到它没有显示img标签 这是我到目前为止写的代码 private c
private class forgetpassword extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... voids) {
try {
Document document = Jsoup.connect("https://cms.bahria.edu.pk/Logins/Student/ForgotPassword.aspx").get();
Element img = document.select("div#AspireCaptcha").first();
if (img == null) {
throw new RuntimeException("Unable to locate image in ");
}
String imgSrc = img.absUrl("src");
bitmaps = BitmapFactory.decodeStream((InputStream) new URL(imgSrc).getContent());
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
imageView.setImageBitmap(bitmaps);
}
}
私有类forgetpassword扩展异步任务{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
@凌驾
受保护的空位背景(空位…空位){
试一试{
Document Document=Jsoup.connect(“https://cms.bahria.edu.pk/Logins/Student/ForgotPassword.aspx).get();
元素img=document.select(“div#AspireCaptcha”).first();
如果(img==null){
抛出新的RuntimeException(“无法在中定位映像”);
}
字符串imgSrc=img.absUrl(“src”);
bitmaps=BitmapFactory.decodeStream((InputStream)新URL(imgSrc.getContent());
}捕获(例外e){
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(void避免){
super.onPostExecute(避免);
设置图像位图(位图);
}
}
如果你们能指导我解决这个问题,我会很有帮助的。我真的被这个问题困扰了好几天。它很可能是在页面加载后使用javascript呈现的。您需要在服务器上的无头浏览器中加载页面才能执行此操作it@charlietfl还有别的办法吗?我没有服务器我只有访问此网站的权限。没有意义…你正在服务器上运行asp代码。在这里,您可以安装一个headless browser可能的副本,使用一个启用了JavaScript的WebView(作为一个headless browser,而不实际显示页面)和一个JavaScriptInterface,在处理JavaScript后接收html源代码,然后用jsoup解析结果。比较: