首页 > 解决方案 > 泽西岛客户端 v 2

问题描述

我有一个网站,我只想编写一个脚本来将字符串发送到页面上的文本输入(唯一的一个),然后单击提交。我建造了一个 selenium ,但被告知这太过分了,访问页面上的端点并以这种方式发送文本要“更容易”。

有人建议我为此使用 Jersey 客户端。

import org.glassfish.jersey.client.*;
import org.glassfish.jersey.client.JerseyWebTarget;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.WebTarget; 
import javax.ws.rs.core.Response;
import org.glassfish.jersey.client.JerseyClientBuilder;

public class mqDirect {

public static void main (String args[])
{

    String baseUrl = "URL";   // removed real url herebut it is properlink
    Client client = JerseyClientBuilder.createClient();

    WebTarget target = client.target(baseUrl);
    Response response = target.request().get();

    System.out.print("response is : " + response);

 }
}

我一直在查看示例并且这段代码可以编译,但我只是想看看在这种情况下的实际响应是什么,当我运行它时出现错误

线程“主”java.lang.IllegalStateException 中的异常:找不到 InjectionManagerFactory。atorg.glassfish.jersey.internal.inject.Injections.lambda$lookupInjectionManagerFactory$0(Injections.java:98) at java.util.Optional.orElseThrow(Optional.java:290)

那么要将文本字符串发送到页面上的文本输入,我应该使用 .post() 方法吗?我觉得硒更容易做到这一点,如果不是那么漂亮......

标签: javajersey

解决方案


我使用了依赖:

        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-client</artifactId>
            <version>2.16</version>
        </dependency>

它工作正常:
也许你应该改变你的依赖版本。
希望对你有帮助:)


推荐阅读