上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
12下一页
返回列表 发新帖

如何定位最后一个文本框

[复制链接]
  • TA的每日心情
    开心
    2023-12-29 20:20
  • 签到天数: 44 天

    [LV.5]常住居民I

    4

    主题

    16

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2023-11-14 14:43:32 | 显示全部楼层 | 阅读模式

    开始时只有一个文本框
    xpath1:/html/body/div/div[1]/section/section/main/div[2]/div/div/div/div[2]/div[1]/div/div/input
    输入完成后,按回车会出现第二个文本框
    xpath2:/html/body/div/div[1]/section/section/main/div[2]/div/div/div/div[2]/div[2]/div/div/input
    ...........
    依次类推
    第n个文本框
    xpathn:/html/body/div/div[1]/section/section/main/div[2]/div/div/div/div[2]/div[n]/div/div/input

    使用的是document.evaluate('xpath', document).iterateNext()来定位元素,但是如何定位新生成的文本框呢,即定位n值最大的。求解答,谢谢

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    869

    回帖

    1369

    积分

    荣誉开发者

    积分
    1369

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2023-11-14 22:20:17 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-29 20:20
  • 签到天数: 44 天

    [LV.5]常住居民I

    4

    主题

    16

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2023-11-15 14:35:58 | 显示全部楼层
    cxxjackie 发表于 2023-11-14 22:20
    div[last()]
    https://www.w3school.com.cn/xpath/xpath_syntax.asp

    好的,谢谢大佬
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-29 20:20
  • 签到天数: 44 天

    [LV.5]常住居民I

    4

    主题

    16

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2023-11-18 12:07:24 | 显示全部楼层
    cxxjackie 发表于 2023-11-14 22:20
    div[last()]
    https://www.w3school.com.cn/xpath/xpath_syntax.asp

    你好,last需要定义吗,直接用会弹出错误
    ReferenceError: last is not defined
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    869

    回帖

    1369

    积分

    荣誉开发者

    积分
    1369

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2023-11-19 22:11:44 | 显示全部楼层
    躯壳里的战鸣 发表于 2023-11-18 12:07
    你好,last需要定义吗,直接用会弹出错误
    ReferenceError: last is not defined

    不用啊,直接写就行,你是不是哪里理解错了:
    1. document.evaluate('/html/body/div/div[1]/section/section/main/div[2]/div/div/div/div[2]/div[last()]/div/div/input', document).iterateNext()
    复制代码
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-29 20:20
  • 签到天数: 44 天

    [LV.5]常住居民I

    4

    主题

    16

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2023-11-20 22:04:53 | 显示全部楼层
    cxxjackie 发表于 2023-11-19 22:11
    不用啊,直接写就行,你是不是哪里理解错了:

    大佬,我写的代码如下,实现的功能是当键盘按下s时,光标聚集到最后一个文本框,但是检查后提示Uncaught TypeError: can't access property "focus", b is null,大佬看下是哪里写错了吗
    代码:document.onkeyup = function(e) {
      var b = document.evaluate('/html/body/div/div[1]/section/section/main/div[2]/div/div/div/div[2]/div[last()]/div/div/input', document).iterateNext();
      var event = e || window.event;
      var key = event.which || event.keyCode || event.charCode;
      if (key == 83) {
        b.focus();
      }
    };
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    869

    回帖

    1369

    积分

    荣誉开发者

    积分
    1369

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2023-11-20 22:17:23 | 显示全部楼层
    躯壳里的战鸣 发表于 2023-11-20 22:04
    大佬,我写的代码如下,实现的功能是当键盘按下s时,光标聚集到最后一个文本框,但是检查后提示Uncaught  ...

    应该是xpath有错误,这个没有页面我也不知道错哪了,给个链接或者你自己再检查下。另外你这种需求应该没有使用xpath的必要,css选择器也能完成定位,建议换一下,xpath不仅写起来麻烦,搜索效率也更低。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-29 20:20
  • 签到天数: 44 天

    [LV.5]常住居民I

    4

    主题

    16

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2023-11-20 22:44:24 | 显示全部楼层
    cxxjackie 发表于 2023-11-20 22:17
    应该是xpath有错误,这个没有页面我也不知道错哪了,给个链接或者你自己再检查下。另外你这种需求应该没 ...

    大佬,那个css选择器是通过document.querySelectorAll函数来定位的吗
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    869

    回帖

    1369

    积分

    荣誉开发者

    积分
    1369

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2023-11-21 22:57:46 | 显示全部楼层
    躯壳里的战鸣 发表于 2023-11-20 22:44
    大佬,那个css选择器是通过document.querySelectorAll函数来定位的吗

    是的,querySelector和querySelectorAll,不会写的话参考下这个:
    https://bbs.tampermonkey.net.cn/thread-1821-1-1.html
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-29 20:20
  • 签到天数: 44 天

    [LV.5]常住居民I

    4

    主题

    16

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2023-11-22 12:12:43 | 显示全部楼层
    cxxjackie 发表于 2023-11-21 22:57
    是的,querySelector和querySelectorAll,不会写的话参考下这个:
    https://bbs.tampermonkey.net.cn/thre ...

    嗯嗯,已经解决了,谢谢大佬。但是有出现了一个问题,当一个弹窗出现和消失后,比如打印预览,回到网页后脚本就不起作用了,必须点击下网页才行。大佬有解决方法吗
    回复

    使用道具 举报

    发表回复

    本版积分规则

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