gpt4 book ai didi

java - 网站按钮上的 "Click"

转载 作者:行者123 更新时间:2023-12-02 11:49:01 26 4
gpt4 key购买 nike

我想使用 Java 解析网站中的列表。我已经知道如何使用 Jsoup 解析列表 - 所以这部分已经完成并可以工作。

但是,要在网页中显示列表,我需要按一个按钮,但我不知道如何使用 Java 来做到这一点。我已经在SO上发现了类似的问题:Programmatically click a webpage button 。我想我可以使用 HttpURLConnectionKVP 来实现此目的,但我不知道如何让它工作。

列表选择器如下所示: I would like to press Show all button我想按“显示全部”按钮。

我在html文件中找到的代码:

<div class="row top-buffer">
<div class="col-md-6 col-sm-4 col-xs-6 nopadding">
<button type="button" id="clearselection" class="btn btn-knx" style="float: right; margin: 0px">Clear selection</button>
</div>
<div class="col-md-6 col-sm-4 col-xs-6 nopadding">
<button type="button" id="showall" class="btn btn-knx align-right" style="float: left">Show all</button>
</div>
</div>

有人知道这是怎么做到的吗?..顺便说一句,这不仅仅是我需要在这个网站上按下的一个按钮,否则我会手动完成。一旦我知道如何用一个按钮完成它,我也将能够弄清楚其他按钮的操作。

更新:我想指出的是,我无权访问该 HTML 文件。我基本上想模拟网站访问者的按钮点击。抱歉我没说清楚。

更新2:我刚刚又开始研究这个问题。我在网页中找到了按钮的 Javascript 代码:

$('#showall').on('click', function () {
$('.mask').show();
$('#name').attr('value', '');
$("#letter option").removeAttr('selected');
$("#letter option[value='']").attr('selected', true);
$.ajax({
url: '/src/international/Data/partListAjax',
type: 'POST',
dataType: "html",
data: {
data: $('#filterForm').serialize(),
wTexts: {"Company":"Company","Country":"Country","Name":"Name","Total":"Total","search":"Search","matches_found":"matches found","search_no_results":"Your search did not match any results."},
national: 'null',
currentProject: 'nma-en'
},
success: function (data) {
if (data.indexOf("Allowed memor") >= 0) {
$('#accordion2').html("<div class='alert alert-warning' role='alert'>Please use our search engine</div>");
$('.mask').hide();
$('#clearselection').attr('disabled', 'disabled');
$('#showall').attr('disabled', 'disabled');
} else {
$('#accordion2').html(data);
$('.mask').hide();
$('#clearselection').attr('disabled', 'disabled');
$('#showall').attr('disabled', 'disabled');
}
}
});
});

如果调用按钮功能不起作用,我将尝试直接发送/触发该功能中包含的Ajax命令。

最佳答案

LordBullington,我也在我的网站上这样做了,下面的解决方案非常适合我。

首先,您需要向 UI 发送一个变量。

如果您使用 servlet,则可以通过以下方式实现

request.setAttribute("clickbutton", "yes");

如果你使用 Spring,你可以通过以下方式做到这一点

Map<String, Object> model = new HashMap<String, Object>();
model.put("clickbutton", "yes");
return new ModelAndView("yourView", model);

然后在你的html中,保留一个隐藏变量来接收从JAVA发送的变量。

<input type="hidden" id="clickbutton" value="${clickbutton}">

然后使用 Jquery 在页面加载时触发按钮。确保此 jquery 代码位于隐藏的输入标记之后。

$( document ).ready(function() {
if(('#clickbutton').val()=='yes') {

//use your button id here
$("#youButtonIdHere").click();
}
});

关于java - 网站按钮上的 "Click",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48009640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com