wiselin 发表于 2023-2-13 16:49:58

jQuery做脚本登录后操作的问题,求助啊

本帖最后由 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').click();
})

liuhongrun2022 发表于 2023-2-13 17:07:06

不会写油猴脚本

isdkz 发表于 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();
})

wiselin 发表于 2023-2-13 18:03:07

isdkz 发表于 2023-2-13 17:31


代码一句句在控制台执行没问题,但放到脚本就没效果,好奇怪,另外想问下能用jQuery写吗?

wp231957 发表于 2023-2-13 19:23:44

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

说说你的全部需求   以及想要实现的目标

isdkz 发表于 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();
    }

})();

wiselin 发表于 2023-2-13 20:48:02

wp231957 发表于 2023-2-13 19:23
说说你的全部需求   以及想要实现的目标

我的需求很简单哈,就是用jQuery写一个自动化登录后进行各种操作,比如点击,上传之类行为的程序,现在碰到的问题就是jQuery没有selenium那种等待找到某个元素的功能,登录成功后后面写的动作都不会执行

wiselin 发表于 2023-2-13 20:51:54

isdkz 发表于 2023-2-13 19:50
我去,才发现把调用给漏掉了。jquery 获取不到元素,不知道为什么,我还没找出原因

程序测试了一下,自动登录没问题,但是登录后点击的操作并没有执行,怎样才能做到像selenium那种等待到某元素然后点击的功能呢?

isdkz 发表于 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();
页: [1]
查看完整版本: jQuery做脚本登录后操作的问题,求助啊