如何知道我的 Jsoup 元素是否被正确选择
How to know if my Jsoup element is being properly selected
我正在尝试调试我遇到的问题。我正在使用以下代码尝试将 link 获取到页面上的图像。
private class DownloadWebpageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... args) {
String urls = args[0];
Document doc = null;
try {
doc = Jsoup.connect(urls).ignoreContentType(true).get();
image = doc.select("img[src~=(?i)\.(png|jpe?g|gif)]").last();
theurlstring = "test " + image.attr("src"); // I put test here to make sure it is being executed
} catch (IOException e) {
e.printStackTrace();
}
return urls;
}
}
我试图从元素 "image." 中获取 link 的任何方式通常都会出错,它说
Attempt to invoke virtual method 'java.lang.String org.jsoup.nodes.Element.attr(java.lang.String)' on a null object reference
因此,由于该错误,我现在认为未正确选择图像。有没有人看到任何看起来不对劲的东西?或者我怎样才能更好地查明问题?
您的查询无效,请参阅http://try.jsoup.org/~I4Y0POaloHUtrNTMJO7IAiAUIRY
您可以使用:
image = doc.select("img[src$=.png],img[src$=.gif],img[src$=.jpg],img[src$=.jpeg]").last();
没有那么紧凑,但至少选择了图像(参见 http://try.jsoup.org/~kjnlfvCzrxiqaGQqwcszLZswSNg)。
如果错误仍然存在,请将 try.jsoup.org 与您的来源 url 一起使用以验证接收到的 html 中是否呈现了预期的输出,以排除 [=23] 的问题=]生成的内容。
我正在尝试调试我遇到的问题。我正在使用以下代码尝试将 link 获取到页面上的图像。
private class DownloadWebpageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... args) {
String urls = args[0];
Document doc = null;
try {
doc = Jsoup.connect(urls).ignoreContentType(true).get();
image = doc.select("img[src~=(?i)\.(png|jpe?g|gif)]").last();
theurlstring = "test " + image.attr("src"); // I put test here to make sure it is being executed
} catch (IOException e) {
e.printStackTrace();
}
return urls;
}
}
我试图从元素 "image." 中获取 link 的任何方式通常都会出错,它说
Attempt to invoke virtual method 'java.lang.String org.jsoup.nodes.Element.attr(java.lang.String)' on a null object reference
因此,由于该错误,我现在认为未正确选择图像。有没有人看到任何看起来不对劲的东西?或者我怎样才能更好地查明问题?
您的查询无效,请参阅http://try.jsoup.org/~I4Y0POaloHUtrNTMJO7IAiAUIRY
您可以使用:
image = doc.select("img[src$=.png],img[src$=.gif],img[src$=.jpg],img[src$=.jpeg]").last();
没有那么紧凑,但至少选择了图像(参见 http://try.jsoup.org/~kjnlfvCzrxiqaGQqwcszLZswSNg)。
如果错误仍然存在,请将 try.jsoup.org 与您的来源 url 一起使用以验证接收到的 html 中是否呈现了预期的输出,以排除 [=23] 的问题=]生成的内容。