关于浏览器控制-多浏览器窗口切换后,窗口控制权获取不对的情况说明和解决方案

动作开发 · 6651 次浏览
涛涛涛 创建于 23天18小时前

关于edge浏览器控制-多浏览器窗口切换后,窗口控制权获取不对的情况

测试的结论,edge浏览器窗口控制权获取不对,不是插件和程序的问题,大多是因为使用者使用方式不当造成的


这一步很重要,不是你把鼠标移过去窗口就是激活状态,需要点击一下目标窗口,让目标窗口来到前台,目标窗口才是激活状态(活动浏览器窗口)

 

首先这个问题有两种情况(测试都可以正常获取的控制权)--通过当前活动浏览器窗口来确定要控制的窗口,可以获取的控制权的

1.同浏览器的两个用户账号(浏览器在同一进程中)

先点击浏览器窗口(需要鼠标点击激活一下指定浏览器窗口)--这一步很重要,不是你把鼠标移过去窗口就是激活状态,需要点击一下目标窗口,让目标窗口来到前台,目标窗口才是激活状态(活动浏览器窗口)
再运行动作可以正常获取指定的浏览器网页元素


2.同浏览器的两个账户(两个账户不在同一个进程,即两个浏览器进程)


先点击浏览器窗口(需要鼠标点击激活一下指定浏览器窗口)-这一步很重要,不是你把鼠标移过去窗口就是激活状态,需要点击一下目标窗口,让目标窗口来到前台,目标窗口才是激活状态(活动浏览器窗口)
再运行动作可以正常获取指定的浏览器网页元素

 

 

涛涛涛 最后更新于 2026/1/15

韩道友 23天18小时前 :

这一步很重要,不是你把鼠标移过去窗口就是激活状态,需要点击一下目标窗口,让目标窗口来到前台,目标窗口才是激活状态(活动浏览器窗口)


这里说的有问题,我是有点击窗口再运行动作的

涛涛涛 回复 韩道友 23天18小时前 :

我是用的edge浏览器测试的,测试了60次大概2次不成功,我认为是切换窗口时,运行太快造成的,加个1-2秒延时应该就不会出现这个问题了

  

韩道友 回复 涛涛涛 23天18小时前 :

是正常操作出现的问题,并不是极限测试哦。加个1-2秒影响体验

涛涛涛 回复 韩道友 23天18小时前 :

嗯嗯,用edge浏览器测试的,这个问题不好复现,正常使用没有遇到这个问题,哈哈

回复内容
涛涛涛 23天17小时前
#1

另外用Chrome浏览器测试,确实会出现窗口定位不对的情况,通过当前活动浏览器窗口来确定要控制的窗口,获取控制权的方案可能在Chrome浏览器存在bug,不像是代码的问题,确定有点像指定的Chrome浏览器激活窗口后,窗口的状态没有变,时灵时不灵的(edge浏览器好像没有这个情况

测试的结论,Chrome浏览器窗口控制权获取不对,好像为每个浏览器插件设置不同的:自定义环境名如(t1,t2)  大概率可以解决这个情况



通过获取前台窗口信息-》设置插件自定义环境名为窗口信息—》获取浏览器窗口的控制权(活动的浏览器当前窗口)

这个是最终的解决方案为

1.为每个浏览器插件:自定义环境名如(t1,t2)


2.通过浏览器控制-设置连接的浏览器-高级设置里设置要控制的浏览器窗口-插件自定义环境名-连接指定窗口



3.多复制几个这个动作-重命名指定运行浏览器窗口


涛涛涛 最后更新于 18天16小时前
韩道友 回复 涛涛涛 19天17小时前 :

你这个方法确实在指定浏览器的时候,能有一定作用

但是当我一个动作,并非在一个账号浏览器中使用,而是经常要切换的,不是固定的。

就比如“下载图片” https://getquicker.net/Sharedaction?code=cabf0ece-1ba7-460c-11a7-08db8c4f03af

我可能随时会换到其他浏览器窗口,所以在动作中环境名称不能固定设置,必须随窗口变化的。

韩道友 最后更新于 19天17小时前
涛涛涛 回复 韩道友 19天14小时前 :

这个问题是可以按这个方式处理的,不过按你的思考方式是不会接受的,需要通过动作构造,所以还是按你的处理方式处理吧

韩道友 回复 涛涛涛 19天14小时前 :

说说看你的方法,
我需要在多个账号窗口里使用该动作,除非能通过窗口id获取环境名,我的思路是这样的

涛涛涛 回复 韩道友 19天14小时前 :

通过浏览器窗口句柄和获取前台窗口句柄与插件自定义环境名一样的思路,获取浏览器窗口的控制权

涛涛涛 最后更新于 19天14小时前
韩道友 回复 涛涛涛 19天14小时前 :

通过句柄,能获取环境名吗?还是说直接通过句柄来控制激活当前窗口

涛涛涛 回复 韩道友 19天14小时前 :

通过获取前台窗口句柄(浏览器窗口句柄)-》设置插件自定义环境名为窗口句柄—》获取浏览器窗口的控制权(活动的浏览器当前窗口)

涛涛涛 最后更新于 19天14小时前
韩道友 回复 涛涛涛 19天14小时前 :

设置插件自定义环境名为窗口句柄—》 
这一步能在动作中自主完成吗?  还是要手动修改

涛涛涛 回复 韩道友 19天14小时前 :

应该都可以,看你的习惯了,最好是手动修改

韩道友 回复 涛涛涛 19天13小时前 :

手动修改就算了,每天都要改!最好是cl老大从根源上解决问题,或者增加一个功能,使用句柄查询环境名称
与其手动修改我还不如在获取浏览器元素信息前,先让浏览器标签页自动切换一下,就能恢复正常了

回复主贴