gpt4 book ai didi

javascript - 如何在 webview tasker 元素上发送 JavaScript 或 jquery 命令?

转载 作者:行者123 更新时间:2023-11-29 17:46:00 27 4
gpt4 key购买 nike

  1. 我创建了一个场景和 webview1 元素:

    • 模式:网址
    • 来源:www.google.com

  2. 创建了一个展示场景的任务
  3. 现在,我想创建一个 JavaScript 任务以发送到 Webview:

    • $("#q").val("查克诺里斯");
    • $("button#search").click();

PS:我不想只执行Javascript,我想在打开的Webview中执行。

最佳答案

我真的不明白创建 webview 场景并对其进行操作的意义何在,当你需要的东西可以“静静地”实现时。您甚至无需查看即可查询网页并遍历其 DOM 结构。

Tasker 确实支持 JavaScript 和加载外部库。在这里查看更详细的解释:tasker.wikidot.com/userguide-en:javascript

或者,您可以试试 SL4A:code.google.com/p/android-scripting/

您是否尝试过向 WebView 属性上的页面加载事件添加操作(Javascript 或 SL4A)?

//编辑

@fredericoallan

您需要做/使用的是使用 HTTP GETHTTP POST 来发送 header 和处理 session (我推荐 tasker 插件:RESTask 用于因为它允许发送 header )。但重要的是第一。

先决条件

为了能够发送 header 和设置 session ,您需要找出在您打开页面和/或单击登录 按钮时发送的 header 和 cookie。要查看(如果您使用的是 chrome),您可以使用 chrome 的内置开发人员工具。只需右键单击页面上的某个位置并选择“检查元素”。在出现的窗口中,转到标签“网络”

session

只需刷新页面并观察 network 选项卡。列表中的第一个请求应该是 GET 方法和类型 text/html。点击它。在右 Pane 中选择 headers 选项卡。您现在应该注意到,我们的 session ID 存储在 PHPSESSID 下的 cookie 中。我们稍后会需要这些信息

标题

为了能够登录,您需要有一个打开的 session ,否则服务器将拒绝您访问。我们已经检查了 session key 的存储方式和存储位置,因此我们可以查看登录 header (我们需要知道您的用户名和密码是如何发送到服务器的)。

在开发人员工具仍然打开的情况下,单击login 按钮。 network 选项卡的内容应该已经更改。我们感兴趣的是发送的第一个请求(index.php?act=login,方法POST,类型text/html)。单击时,我们应该会看到诸如远程地址、请求 URL、请求方法和 Form Data 下方的一些内容,其中包含用户名、密码、提交属性。

构建 Tasker 的任务

现在,收集了所有这些信息后,我们可以继续构建一个任务,让我们登录。

  1. 创建指向 redmine.demo.org 的 HTTP GET 操作(没有额外的参数/ header )。在服务器响应中,您将收到 HTML 标记、 header 和要设置的 cookie。
  2. 从 cookie 中提取 %sessionID(使用变量搜索和替换或变量部分)
  3. 创建指向 https://www.untergrund.net/index.php?act=loginpost 的 HTTP POST 操作,带有 header :Cookie=%sessionID 和参数: username=%userid, password=%pass, PHPSESSID=%sessionID

您现在已登录。收到的响应将包含登录时显示的页面。

代码示例

HTTP loggin in (119)
A1: RESTask [ Configuration:REST call Package:com.freehaha.restask Name:RESTask Timeout (Seconds):30 ]
A2: Test Variable [ Type:Length Data:%rthdr_set_cookie Store Result In:%sesslen ]
A3: Variable Section [ Name:%rthdr_set_cookie From:1 Length:%sesslen-8 Adapt To Fit:Off Store Result In:%sessionID ]
A4: RESTask [ Configuration:REST call Package:com.freehaha.restask Name:RESTask Timeout (Seconds):30 ]

关于javascript - 如何在 webview tasker 元素上发送 JavaScript 或 jquery 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700266/

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