【浏览器控制】触发click事件没有反应

使用问题 · 4462 次浏览
tkk 创建于 25天15小时前

使用浏览器控制触发网页的click事件,控制台显示已经调用了,但是网页没有反应。

在网页的控制台输入一样的jquery命令却可以触发。

请问怎么进一步排除问题?

 

动作如下:

控制台输出如下:

 

使用控制台命令可以成功点击

 

 

尝试了以下操作,均不行

 


回复内容
CL 25天15小时前
#1

不太清楚,根据控制台提示,已经成功调用了元素的click方法。 

确认元素是否准确。 

也可以用对标签页执行js脚本,直接写代码。

tkk 回复 CL 25天13小时前 :

感谢大佬答复,我跑了下面的这个脚本,控制台里也显示成功点击了。但是网页还是没有反应。




 click1();
function click1(){
console.info('hello点击');
const selector = '.catalog-state-info > .item:nth-child(2) > .title';
const targetElement = document.querySelector(selector);
if (targetElement) {
  targetElement.click();
  console.info('成功点击元素:', selector);
} else {
  console.error('未找到元素:', selector);
}
}




我在控制台里面使用脚本document.querySelector('.catalog-state-info > .item:nth-child(2) > .operation>i').click();运行点击,也没能成功跳转。AI说是这个元素没有click监听导致的。所以脚本无效。

所以现在就考虑不使用脚本,而是通过jquery触发。那么问题又回到了:为什么控制台里面的jquery管用,但是quicker动作的jquery不管用的问题了。

请问这样的情况下,怎么进一步确认问题

tkk 最后更新于 25天13小时前
涛涛涛 回复 tkk 25天12小时前 :

加我QQ

给你看看,需要看一下网页元素的情况

涛涛涛 最后更新于 25天11小时前
Kaysvip 回复 涛涛涛 23天17小时前 :

大哥 你qq多少

涛涛涛 回复 Kaysvip 23天17小时前 :

1826561245

tkk 24天17小时前
#2




感谢作者和涛大佬的耐心解答。昨天涛大佬非常耐心的帮我分析了问题,今天我用别的办法绕过了这个问题,回来反馈一下。

为了通过quicekr点击一个列表(动态,无URL,目的网页URL会变化),实现打开一个新标签页的目的

遇到以下现象:


在浏览器控制台运行在quicekr运行
JQuery方法可以实现打开网页看起来全部正常,但就是新网页没有被打开
脚本方法看起来全部正常,但就是新网页没有被打开看起来全部正常,但就是新网页没有被打开

经过涛涛涛大佬的分析,初步认为是以下原因:可能是由于浏览器安全设置,禁止跨域打开新网页造成的没有反应。

由于浏览器没有给出任何拦截信息,没法进一步确认是上面的原因导致的。

尝试了下面方案,比较麻烦:

方案1. 浏览器反馈目标元素的位置,然后调用鼠标去点击。但是首先因为页面缩放等原因导致位置不准,其次需要对元素的可视情况进行判断,如果不可视还要滚动屏幕,比较麻烦。

最后通过下面的方法绕过。

方案2:quicker构建JQuery命令,然后调出控制台输入,回车打开。

CL 回复 tkk 24天15小时前 :

对于这类安全问题,一般可以试试在网页里模拟一下鼠标点击(不需要精确位置)。 也可以试试先给目标元素设置焦点,然后模拟键盘回车或空格。

tkk 回复 CL 23天20小时前 :

感谢大佬答复。

尝试了通过.focus()设置焦点,没看到啥效果,AI说浏览器会阻止非用户触发的聚焦。

在网页里模拟鼠标点击这个方案没看懂。我之前试过通过 getBoundingClientRect 和 window.screen尝试获取元素位置,但不知为啥老找不准,尤其是Y轴,而且还无视浏览器缩放。就放弃了。因为找不准位置就会点到别的元素。

反正现在通过模拟键盘的方式,通过在控制台输入JQuery命令绕过了,稳定性比模拟鼠标点击好一些,就是不合适普通用户使用。

不知道后面咱们的浏览器扩展能不能直接调用quicker来模拟鼠标点击?


tkk 回复 tkk 23天20小时前 :

害,我才发现有个网页元素屏幕坐标的子程序找的很准,还有个子程序能模拟鼠标悬浮还能自动滚动。子程序真是个好东西!

CL 回复 tkk 23天20小时前 :

这个子程序是啥呀,发来看看。 

之前遇到的是input = file那种上传文件的,网页里随便点一下就可以,你的这个可能不太一样。

tkk 回复 CL 22天19小时前 :

这个子程序,找的比较准,作者考虑了地址栏之类的高度:网页元素屏幕坐标(子程序) - 子程序信息 - Quicker

自动滚动的那个,我试了不行,就不放了。

乐昂岚 回复 tkk 22天19小时前 :

可能是套iframe框架或者类似shadow-root之类的

回复主贴