如何在webview tasker元素上发送JavaScript或jquery命令
How send JavaScript or jquery commands on webview tasker elements?
-
我用创建了一个场景和webview1元素
- 模式:url
- 来源:www.google.com
- 模式:url
- 创建了显示场景的任务
-
现在,我想创建一个JavaScript任务发送到Webview:
- $("#q").val("Chuck Norris")
- $("按钮#搜索").click()
- $("#q").val("Chuck Norris")
PS:我不想只执行Javascript,我想在打开的Webview中执行它。
我真的不明白当你需要的东西可以实现时,创建网络视图场景并对其进行操作可能有什么意义"默默地";。您可以在不查看的情况下查询网页并遍历其DOM结构。
Tasker确实支持JavaScript和加载外部库。查看此处以获得更详细的解释:tasker.wikidot.com/userguide en:javascript
或者,您可以试试SL4A:code.google.com/p/android-scripting/
您是否尝试在WebView属性的页面加载事件中添加操作(Javascript或SL4A)?
//编辑
@fredericoallan
您需要做/使用的是使用HTTP GET
和HTTP POST
来发送标头和处理会话(我确实建议使用tasker插件:RESTask,因为它允许发送标头)。但首先要做的事。
先决条件
为了能够发送标题和设置会话,您需要在打开页面和/或单击login
按钮时了解正在发送的标题和Cookie。要看到这一点(如果你使用chrome),你可以使用chrome的内置开发工具。只需右键单击页面上的某个位置并选择";检查元件";。在将出现的窗口中,转到选项卡";网络";
会话
只需刷新页面并观察network
选项卡。列表上的第一个请求应该是GET
方法并键入text/html
。单击它。在右侧窗格中选择"headers
"选项卡。您现在应该注意到,我们的会话ID存储在PHPSESSID
下的cookie中。我们稍后需要这些信息
收割台
若要登录,您需要有一个打开的会话,否则服务器将拒绝您的访问。我们已经检查了会话密钥的存储方式和位置,因此我们可以查看登录标头(我们需要知道您的用户名和密码是如何发送到服务器的)。
如果开发人员工具仍处于打开状态,请单击login
按钮。network
选项卡的内容应该已更改。我们感兴趣的是发送的第一个请求(index.php?act=login
,方法POST
,类型text/html
)。当点击时,我们应该会看到远程地址、请求URL、请求方法以及Form Data
下面的一些内容,其中包含用户名、密码和提交属性。
构建Tasker的任务
现在,在收集了所有这些信息后,我们可以继续构建一个任务,该任务将使我们登录
- 创建指向
redmine.demo.org
的HTTP GET操作(没有其他参数/头)。在服务器响应中,您将收到要设置的HTML标记、标头和cookie - 从cookie中提取%sessionID(使用变量搜索和替换或变量部分)
- 创建指向
https://www.untergrund.net/index.php?act=loginpost
的HTTP POST操作,其标头为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 ]
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- Javascript(jQuery)给了我奇怪的结果
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Javascript/jQuery中的并行Ajax调用
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- Javascript/Jquery/PHP加载页面-如何
- Javascript/Jquery Blob not showing Chrome PDF
- 如何使用javascript/jquery获取iframe的URL的锚点属性
- OnClick/Onhover Javascript/jquery
- 如何从javascript/jquery中的复选框中获取布尔值
- javascript/jquery将utc转换为短格式的本地时间
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 如何向这个javascript/jquery函数添加参数
- 用JavaScript/jQuery点击图片,选中多个方框
- 使用Javascript/JQuery获取JSON GET数据
- 从数组中删除元素的最佳方法是:javascript/jquery
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 用DRY方式Javascript/JQuery动态替换HTML
- 类似Javascript JQuery的库
- 如何在 Javascript/jQuery 中获取一些随机下拉列表的选定值