Javascript 如何使用Java代码从HTML中获取变量值?
我对服务器进行了一个HttpClient调用,它以HTML响应。我在里面看到了Javascript 如何使用Java代码从HTML中获取变量值?,javascript,java,jquery,html,jsoup,Javascript,Java,Jquery,Html,Jsoup,我对服务器进行了一个HttpClient调用,它以HTML响应。我在里面看到了 <html lang="en"><head> <script type="text/javascript"><!-- var testElement = "Y4Yyn%2bZXWcmpz2TadkTlyrc8yGI%3d"; var timeout_redirect_url = "/career?company=asd&loginFlowRequired=
<html lang="en"><head>
<script type="text/javascript"><!--
var testElement = "Y4Yyn%2bZXWcmpz2TadkTlyrc8yGI%3d"; var timeout_redirect_url = "/career?company=asd&loginFlowRequired=true&lang=en_US";
//--></script>
</html>
res包含所有的HTML
我需要得到testElement
值。我得到的响应是一个字符串。如何获取testElement
值
我试图解析jsoup以获取值,但被击中了。谁能帮帮我吗。提前感谢。实际上,无论您在testElement变量中获得的值是什么,我猜都是一个对象,您都需要返回其中的元素并对其进行解析以获得预期的输出。您可以使用regex来完成以下操作:
public static void main(String[] args) {
String test = "<html lang=\"en\"><head>" +
"<script type=\"text/javascript\"><!--" +
"var testElement = \"Y4Yyn%2bZXWcmpz2TadkTlyrc8yGI%3d\"; var timeout_redirect_url = \"/career?company=asd&loginFlowRequired=true&lang=en_US\";"+
"//--></script>"+
"</html>";
Pattern pattern = Pattern.compile("(?<=testElement\\s=\\s\").*?(?=\")");
Matcher matcher = pattern.matcher(test);
while(matcher.find())
{
String s = matcher.group(0);
System.out.println("" + s);
}
}
试试吧,希望这就是你想要的…它不是目标。我想这是一根绳子。如果是字符串,您知道如何获取该值吗?请提供更多信息,这不足以回答您的查询。这里的大问题是您需要数据,但需要返回html字符串。如果您无法获取非html格式的数据,那么您将不得不在字符串中搜索描述变量的文本,并拼接出相应的部分(var testElement=“和结束之间的所有内容”),这很容易出错。或者您可以创建一个新文档,将html字符串插入其中,然后插入另一个脚本标记,该标记将公开局部变量testElement。(这可能很复杂)看看这个谢谢。我使用了split方法并获得了所需的输出。
public static void main(String[] args) {
String test = "<html lang=\"en\"><head>" +
"<script type=\"text/javascript\"><!--" +
"var testElement = \"Y4Yyn%2bZXWcmpz2TadkTlyrc8yGI%3d\"; var timeout_redirect_url = \"/career?company=asd&loginFlowRequired=true&lang=en_US\";"+
"//--></script>"+
"</html>";
Pattern pattern = Pattern.compile("(?<=testElement\\s=\\s\").*?(?=\")");
Matcher matcher = pattern.matcher(test);
while(matcher.find())
{
String s = matcher.group(0);
System.out.println("" + s);
}
}
Y4Yyn%2bZXWcmpz2TadkTlyrc8yGI%3d