gpt4 book ai didi

java - 从 Java 调用 Javascript

转载 作者:行者123 更新时间:2023-11-29 20:16:29 25 4
gpt4 key购买 nike

我正在从 website 下载搜索结果使用 java,这对首页来说效果很好。

URL url = new URL(
"http://www.geocaching.com/seek/nearest.aspx?country_id=79&as=1&ex=0");
BufferedReader in = new BufferedReader(new InputStreamReader(
url.openStream()));

String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();

但是我怎样才能得到结果的第二页呢?指向第二页的链接使用了一个 javascript 调用 javascript:__doPostBack('ctl00$ContentBody$pgrBottom$lbGoToPage_2',''),它调用了这个函数:

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>

我想,我需要从我的 java 程序中调用函数来获取第二页,但是如何呢?

最佳答案

据我所知,您想要执行 __doPostBack(...) 就好像它是在浏览器中执行的网页上一样。我看不出如何使用 Java 以编程方式执行此操作。如果我是你,我会尝试手动创建 Javascript 正在调用的发布请求(可能使用类似 this 的东西)。我知道这并不理想,因为如果页面更改,您的应用程序将无法再工作,但这是我能想到的唯一合理的解决方案。

请问您到底想达到什么目的?会像Selenium吗?帮助?

关于java - 从 Java 调用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6451570/

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