使用jsoup Android登录后如何获取javascript变量?

使用jsoup Android登录后如何获取javascript变量?,javascript,java,android-studio,webview,jsoup,Javascript,Java,Android Studio,Webview,Jsoup,我正在构建一个android应用程序。首先,我要登录一个网站 res = Jsoup.connect("http://www.example.com/action=") .data("username", "id", "password", "password") .method(Connection.Method.POST) .execute();

我正在构建一个android应用程序。首先,我要登录一个网站

res = Jsoup.connect("http://www.example.com/action=")
                    .data("username", "id", "password", "password")
                    .method(Connection.Method.POST)
                    .execute();


            doc = res.parse();

            sessionId = res.cookie("PHPSESSID");
然后我加载下一个站点:

 doc3 = Jsoup.connect("http://www.example.com/site2")
                    .cookie("PHPSESSID", sessionId)
                    .get();
但在site2上,我需要获取Javascript数组:

<script LANGUAGE="JavaScript">
var classes = ["ADA","AOP1A"]
</script>

变量类=[“ADA”,“AOP1A”]
我知道Jsoup只解析Html。我怎样才能得到这个变量?这是我的第一个Android项目

谢谢

这实际上取决于你正在解析的网站的性质,但一般来说,你不能用Jsoup来解析


我建议您使用支持JavaScript的无头浏览器,例如或

OP说这是一个Android项目,所以Selenium不是一个选项(它只是桌面!),而且要让HtmlUnit在Android上工作非常困难(几乎不可能)。OP似乎也不想实际运行脚本,而只是从中提取一些数据。一个正则表达式可以在这里工作。谢谢,伙计,你是对的,经过一些搜索之后,似乎有针对android的selenium(Selendroid,不确定这是否是selenium背后的同一家公司)。但是,是的,我同意你的看法,OP可能会这样做,这就是为什么我说这“取决于网站的性质”。如果所讨论的变量是由Javascript填充/生成的,那么没有运气;但是如果它是静态的,那么是的,正则表达式肯定会工作!谢谢你们两位。有人能帮我找到合适的正则表达式吗<代码>脚本元素=doc.getElementsByTag(“脚本”)我需要一个输出,比如:ADA aop1aplese给我们一个你试图解析的html文件示例,这样我们就更容易计算正则表达式,或者相应的jsoup查询你可以用jsoup获得脚本标记的内容,然后你可以使用正则表达式从脚本中实际提取所需的数据,如果那是你想做的。