递归火山软件开发平台

标题: edge浏览框填表点击网页a标签按钮问题? [打印本页]

作者: 99101617    时间: 2025-4-15 11:20
标题: edge浏览框填表点击网页a标签按钮问题?
场景:点击蓝奏云网页下载按钮,他的按钮是一个<a>标签,不是button标签,而且区域很长,靠选择路径#tourl > a 根本点不到按钮,这种情况要怎么处理,有没有大佬会的,我的笨方法是识别下载按钮图标获取其位置进行点击,没招了。我的代码:
<火山程序 类型 = "通常" 版本 = 1 />

变量 局_Edge填表 <类型 = Edge填表类>
变量 局_状态码 <类型 = 整数类>
局_Edge填表 = Edge浏览框_更新.取填表 ()
局_Edge填表.点击 ("#tourl > a", 1, , 局_状态码)
调试输出 (局_状态码)
状态码返回是2,成功但无返回值
(, 下载次数: 46)


作者: 99101617    时间: 2025-4-15 11:26
以前不知道在哪听过专门有人讲解这个问题,想不起来了,可能是“我要自学网”,找找看
作者: 乐易论坛    时间: 2025-4-15 12:29
https://www.bilibili.com/video/BV1izmqYZEA1?p=7
作者: 99101617    时间: 2025-4-15 13:27
乐易论坛 发表于 2025-4-15 12:29
https://www.bilibili.com/video/BV1izmqYZEA1?p=7

第一种方法document.getElementById,下载按钮是没有ID的所以这种方法不奏效,第二种方法就是目前使用的,a标签按钮的覆盖范围超出按钮视觉层面范围,并非普通的按钮,导致虽然点击了,但点击不到正确的按钮位置,类似的按钮还有很多,比如文心一言、豆包等对话网页的发送按钮也是无法定位到。
作者: 乐易论坛    时间: 2025-4-15 13:32
99101617 发表于 2025-4-15 13:27
第一种方法document.getElementById,下载按钮是没有ID的所以这种方法不奏效,第二种方法就是目前使用的 ...

不行就 querySelectorAll   要考虑是否存在框架问题
作者: 韦贝贝    时间: 2025-4-15 13:52
document.querySelectorAll('#downurl')[0].click()
document.querySelectorAll('#submit')[0].click()
作者: 99101617    时间: 2025-4-15 14:07
给大家一个测试的页面https://wwui.lanzouu.com/ik745uhajgh ,去试试看谁能用JS或其他办法点击到下载按钮触发下载,我是没辙了。
作者: 99101617    时间: 2025-4-15 14:30
这个下载按钮位置是相对固定的,看可不可以点击网页某个坐标点,找找看有没有这样的方法
作者: 乐易论坛    时间: 2025-4-15 19:56
99101617 发表于 2025-4-15 14:07
给大家一个测试的页面https://wwui.lanzouu.com/ik745uhajgh ,去试试看谁能用JS或其他办法点击到下载按钮 ...

我开始就说了 如果有框架 要先枚举框架 你这个明显有框架的哇
作者: itismine    时间: 2025-4-15 20:38
可以用 document.evaluate 试试。
作者: 99101617    时间: 2025-4-16 00:14
itismine 发表于 2025-4-15 20:38
可以用 document.evaluate 试试。

你这个有效,deepseek给的js代码:
document.evaluate("//*[@id='tourl']/a", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.click();
作者: 99101617    时间: 2025-4-16 01:10
发现用蓝奏云真不如用TX云对象存储,又快又好还省钱省事。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4