下面的代码在我电脑上的java文件上运行,给出了“/ pws/client/pdf/offers-in-store-10-11-16”的正确结果.PDF“JSOUP html parse在android设备上给出不同的结果vs windows机器
String pdfLink= null;
try {
Document doc = Jsoup.connect("http://www.dunnesstores.com/offer20/food-wine/fcp-category/home").get();
Element links = doc.select("a[title=\"Download offers in store\"]").first();
System.out.println(links.attr("href"));
} catch (IOException e) {
//e.printStackTrace();
}
然而,当我运行一个应用程序它是由按下按钮激活的Android设备上的代码,我得到一个空指针异常‘pdfLink = links.attr(’HREF”) ;”所以它没有找到链接“/pws/client/pdf/offers-in-store-10-11-16.pdf”出于任何原因。在我的Android应用程序中,代码位于按钮的onclick监听器上,通过代码,它激活上点击并运行的代码行权,但无论出于何种原因JSOUP没有找到link.Below是Android代码
public class MainActivity extends AppCompatActivity {
@Override
protected void>
Daniel
回答
手机浏览器的用户代理从桌面上的区别浏览器;因此,HTML响应不同。为了获得相同的结果,您必须设置桌面用户代理。改变这一行:
Document doc = Jsoup.connect("http://www.dunnesstores.com/offer20/food-wine/fcp-category/home").get();
到:
Document doc = Jsoup.connect("http://www.dunnesstores.com/offer20/food-wine/fcp-category/home").userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0").get();
Eritrean
JSOUP html parse在android设备上给出不同的结果vs windows机器