当前位置: 首页 > 面试题库 >

硒2:检测链接目标的内容类型

汪信鸥
2023-03-14
问题内容

我正在使用Selenium 2 Java API与网页进行交互。我的问题是:如何检测链接目标的内容类型?

基本上,这是背景:单击链接之前,我想确保响应是HTML文件。如果没有,我需要以其他方式处理它。因此,假设有一个PDF文件的下载链接。应用程序应直接读取该URL的内容,而不是在浏览器中打开它。

目标是拥有一个能够自动知道当前位置为HTML,PDF,XML或任何其他类型的应用程序,以使用适当的解析器从文档中提取有用的信息。

更新资料

额外的奖励:奖励给最佳解决方案,使我能够获得给定URL的内容类型。


问题答案:

正如Jochen所建议的那样,在不下载内容的情况下获得Content-type的方法是HTTP HEAD,而硒webdrivers似乎没有提供这种功能。您将必须找到另一个库来帮助您获取URL的内容类型。

可以做到这一点的Java库是Apache HttpComponents,尤其是
HttpClient。

(以下代码未经测试

HttpClient httpclient = new DefaultHttpClient();
HttpHead httphead = new HttpHead("http://foo/bar");
HttpResponse response = httpclient.execute(httphead);
BasicHeader contenttypeheader = response.getFirstHeader("Content-Type");

System.out.println(contenttypeheader);

该项目为HttpClient发布了JavaDoc,HttpClient接口的文档包含了一个很好的示例



 类似资料:
  • 问题内容: 我正在使用Selenium 2 Java API与网页进行交互。我的问题是: 如何检测链接目标的内容类型? 基本上,这是背景:在单击链接之前,我想确保 响应是HTML文件。如果没有,我需要以其他方式处理它。 因此,假设有一个PDF文件的下载链接。应用程序应 直接读取该URL的内容,而不是在浏览器中打开它。 我们的目标是拥有一个能够自动知道 当前位置是HTML,PDF,XML或其他类型的

  • 问题内容: 我正在使用Selenium 2 Java API与网页进行交互。我的问题是:如何检测链接目标的内容类型? 基本上,这是背景:单击链接之前,我想确保响应是HTML文件。如果没有,我需要以其他方式处理它。因此,假设有一个PDF文件的下载链接。应用程序应直接读取该URL的内容,而不是在浏览器中打开它。 我们的目标是拥有一个能够自动知道当前位置是HTML,PDF,XML或其他类型的应用程序,以

  • 问题内容: 我正在尝试从下面的html中检索网页中的数据 我的目标是解析“#/ word / 1 /” 但输出是 我尝试了很多方法,似乎无法在目标类中获取“ a href”的内容。 我真的不想做的是获取页面的源代码,然后进行字符串搜索,这似乎很愚蠢。 反正得到那个? 问题答案: 据我所知,您可以通过搜索子元素来获取href

  • 我正在尝试在Android上应用一个自定义的对象检测模型。为了应用该模型,我使用/lite/examples/object_detection下的tensorflow存储库示例。为此我也在使用我的个人手机(小米红米Note 8 pro,Android10)进行测试。该示例工作完美,能够识别不同的对象。但是,当我尝试导入自定义模型时,applycation会反复崩溃。为了运行我在build.grad

  • 我使用spring JAX-RS将文件作为多部分表单数据上传。我有inputstream对象作为参数。当我将这个输入流复制到磁盘时,我得到了我的文本文件。 但是当我试图检测这个输入流的内容类型时,我得到的内容类型是application/octet-stream。 作为一个测试,我还用tika desktop测试了相同的文件,并获得了正确的内容类型。

  • 问题内容: 我一直在做一个小项目,我发现自己处在一个需要php函数的位置,该函数可以链接数据中的URL,同时使我可以在不想链接的链接上设置一些例外。任何想法如何做到这一点? 问题答案: 我在GitHub上有一个开源项目:LinkifyURL,您可能要考虑一下。它具有一个功能:从文本中提取URL并将其转换为链接。请注意,这不是一项微不足道的任务! 如果您确实不需要链接特定的域(即vimeo和yout