鱼C论坛

 找回密码
 立即注册
查看: 1284|回复: 8

[已解决]jQuery做脚本登录后操作的问题,求助啊

[复制链接]
发表于 2023-2-13 16:49:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 wiselin 于 2023-2-13 16:49 编辑

需求就是登录fishc.com.cn后点击自己的用户进入我的空间,目前写的代码可登录成功,但成功后该如何写才能自动点击用户名那里呢?用的是油猴脚本
// ==UserScript==
// @name         我的专属脚本
// @namespace    https://fishc.com.cn/
// @version      0.1
// @description  自动化操作
// @match        https://fishc.com.cn/
// @require      https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.5.1.min.js
// @grant        none
// @run-at       document-start
// ==/UserScript==
$(function(){
    $('#ls_username').val('我的用户名');
    $('#ls_password').val('我的密码');
    $('button[tabindex="904"]').click();
})
最佳答案
2023-2-13 19:50:32
本帖最后由 isdkz 于 2023-2-13 21:11 编辑
wiselin 发表于 2023-2-13 18:03
代码一句句在控制台执行没问题,但放到脚本就没效果,好奇怪,另外想问下能用jQuery写吗?


我去,才发现把调用给漏掉了。jquery 获取不到元素,不知道为什么,我还没找出原因
// ==UserScript==
// @name         我的专属脚本
// @namespace    https://fishc.com.cn/
// @version      0.1
// @description  自动化操作
// @match        https://fishc.com.cn/*
// @require      https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.5.1.min.js
// @grant        none
// ==/UserScript==
(function(){
    if(document.querySelector('#um > p:nth-child(2) > strong > a') == null){
        document.querySelector('#ls_username').value = '账号';
        document.querySelector('#ls_password').value = '密码';
        document.querySelector('#lsform > div > div > table > tbody > tr:nth-child(2) > td.fastlg_l > button').click();
        document.querySelector('#um > p:nth-child(2) > strong > a').click();
    }

})();
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-13 17:07:06 | 显示全部楼层
不会写油猴脚本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-13 17:31:41 | 显示全部楼层
// ==UserScript==
// @name         我的专属脚本
// @namespace    https://fishc.com.cn/
// @version      0.1
// @description  自动化操作
// @match        https://fishc.com.cn/
// @require      https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.5.1.min.js
// @grant        none
// @run-at       document-start
// ==/UserScript==
(function(){
    document.querySelector('#ls_username').value = '我的用户名';
    document.querySelector('#ls_password').value = '我的密码';
    document.querySelector('#lsform > div > div > table > tbody > tr:nth-child(2) > td.fastlg_l > button').click();
    document.querySelector('#um > p:nth-child(2) > strong > a').click();
})
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-13 18:03:07 | 显示全部楼层

代码一句句在控制台执行没问题,但放到脚本就没效果,好奇怪,另外想问下能用jQuery写吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-13 19:23:44 | 显示全部楼层
wiselin 发表于 2023-2-13 18:03
代码一句句在控制台执行没问题,但放到脚本就没效果,好奇怪,另外想问下能用jQuery写吗?

说说你的全部需求   以及想要实现的目标
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-13 19:50:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2023-2-13 21:11 编辑
wiselin 发表于 2023-2-13 18:03
代码一句句在控制台执行没问题,但放到脚本就没效果,好奇怪,另外想问下能用jQuery写吗?


我去,才发现把调用给漏掉了。jquery 获取不到元素,不知道为什么,我还没找出原因
// ==UserScript==
// @name         我的专属脚本
// @namespace    https://fishc.com.cn/
// @version      0.1
// @description  自动化操作
// @match        https://fishc.com.cn/*
// @require      https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.5.1.min.js
// @grant        none
// ==/UserScript==
(function(){
    if(document.querySelector('#um > p:nth-child(2) > strong > a') == null){
        document.querySelector('#ls_username').value = '账号';
        document.querySelector('#ls_password').value = '密码';
        document.querySelector('#lsform > div > div > table > tbody > tr:nth-child(2) > td.fastlg_l > button').click();
        document.querySelector('#um > p:nth-child(2) > strong > a').click();
    }

})();
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-13 20:48:02 | 显示全部楼层
wp231957 发表于 2023-2-13 19:23
说说你的全部需求   以及想要实现的目标

我的需求很简单哈,就是用jQuery写一个自动化登录后进行各种操作,比如点击,上传之类行为的程序,现在碰到的问题就是jQuery没有selenium那种等待找到某个元素的功能,登录成功后后面写的动作都不会执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-13 20:51:54 | 显示全部楼层
isdkz 发表于 2023-2-13 19:50
我去,才发现把调用给漏掉了。jquery 获取不到元素,不知道为什么,我还没找出原因

程序测试了一下,自动登录没问题,但是登录后点击的操作并没有执行,怎样才能做到像selenium那种等待到某元素然后点击的功能呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-13 21:09:39 | 显示全部楼层
本帖最后由 isdkz 于 2023-2-13 21:10 编辑
wiselin 发表于 2023-2-13 20:51
程序测试了一下,自动登录没问题,但是登录后点击的操作并没有执行,怎样才能做到像selenium那种等待到某 ...


我也很纳闷,js 代码怎么不按顺序执行,

这个代码可以进入个人主页,不过就进不了其它页面,去其它页面也会跳回个人主页,你先看看,我再研究研究
// ==UserScript==
// @name         我的专属脚本
// @namespace    https://fishc.com.cn/
// @version      0.1
// @description  自动化操作
// @match        https://fishc.com.cn/*
// @grant        none
// ==/UserScript==

function main(){
    if(document.querySelector('#um > p:nth-child(2) > strong > a') == null){
        document.querySelector('#ls_username').value = '账号';
        document.querySelector('#ls_password').value = '密码';
        document.querySelector('#lsform > div > div > table > tbody > tr:nth-child(2) > td.fastlg_l > button').click();
    } else if(!window.location.href.match(/https:\/\/fishc.com.cn\/space-uid-\w*\.html/ )){
        document.querySelector('#um > p:nth-child(2) > strong > a').click();
    }

};

main();
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 13:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表