java - 不要等待 HtmlUnit 中的 click() 响应

标签 java htmlunit

在我用 HtmlUnit 解析的页面之一上,我需要单击()一个链接来加载一个加载时间很长的页面。

问题是我不需要等待回复;我只需单击链接并继续使用我的 WebClient 对象执行操作即可。

HtmlElement linkIdontCareAboutButHaveToClick = wc.checkAndGetElement("//div[@class='next']/a");

if (linkIdontCareAboutButHaveToClick != null)
{
    wc.click(lienValidationPropocom);
}

// do some more thing with wc without waiting
...

有没有办法告诉 HtmlUnit 执行某种异步 click() ?

不用说,一切都必须绑定(bind)到 session 。

最佳答案

我认为您需要实例化一个新的后台线程来执行 .click(),以便您的主事件调度线程可以继续而不停止。

首先将后台要做的工作封装在它自己的类中。 (您可能必须将 wc 元素作为参数传递,具体取决于它的范围):

class backgroundWork extends Thread {
    public void run() {
        wc.click(lienValidationPropocom);
    }
}

然后你可以从主线程执行它:

if (linkIdontCareAboutButHaveToClick != null)
{
    Thread thread = new backgroundWork();
    thread.start();
}

关于java - 不要等待 HtmlUnit 中的 click() 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009102/

相关文章:

Java,在对象更改时提醒父级

java - 无法使用 HtmlUnitDriver 单击 Web 元素

java - POST 后将应用程序重定向到其他服务器

java - 从 XML 文件中获取标签和值

java - 项目 Euler #10 Java 不工作

java - HtmlUnit + Webclient.getPage 抛出

javascript - 有没有办法在开始执行 javascript 之前转换由 HtmlUnit 加载的页面?

java - mvn 依赖导致 htmlunit 出现 NoSuchMethod 错误

java - 如何为 HtmlUnit 中没有 value 属性的文本字段提供值?

java - 在java中通过cfml将 Crystal 报表导出为PDF