2017-09-06 84 views
0

我试图取消选择在选择后previosly选定的文本(选择无),并与按键事件抄了一遍:iMacros FF:如何在EVENT TYPE = KEYPRESS后取消选择文本ctrl + a?

EVENT TYPE=KEYPRESS CHAR="a" MODIFIERS="ctrl" 
EVENT TYPE=KEYPRESS CHAR="c" MODIFIERS="ctrl" 

我已经使用CLICK和随机元素DBLCLICK事件试过的页面,也使用替代鼠标按钮(1,2)例如:

EVENT TYPE=CLICK SELECTOR="HTML>BODY>TABLE>TBODY>TR>TD>TABLE:nth-of-type(4)>TBODY>TR>TD:nth-of-type(3)>TABLE>TBODY>TR:nth-of-type(4)>TD>TABLE:nth-of-type(2)>TBODY>TR:nth-of-type(5)>TD>TABLE>TBODY>TR>TD:nth-of-type(2)" BUTTON=0 

并且还使用XPATH代替:

EVENT TYPE=CLICK XPATH="/html/body/table/tbody/tr/td[1]/table[4]/tbody/tr[1]/td[3]/table/tbody/tr[4]/td/table[2]/tbody/tr[1]/td/table/tbody/tr/td[1]/strong" BUTTON=0 

在这两种情况下,都会标记目标元素,但不会发生任何其他情况。 目标是一个简单的html文档,由主要包含文本的表格构成。

我还试图用带有点点击坐标: 单击X = 784 Y = 166

而且,在其他问题的建议,在活动开始前使用短延时: WAIT SECONDS = 1

请注意,第一个事件(EVENT TYPE = KEYPRESS CHAR =“a”MODIFIERS =“ctrl”)完美无瑕。

编辑:我使用的Firefox的iMacros版本是9.03,接受的解决方案只能工作到8.97。

+0

这很奇怪。像EVENT TYPE = CLICK POINT =“(0,0)”这样的东西,如果它作为自己的脚本执行,但当它发生在EVENT TYPE = KEYPRESS CHAR =“a”MODIFIERS =“ctrl”后,它失败的同一运行时间。不确定是否错误或功能:? –

+0

尝试记录点击可以手动更改的HTML控件,即输入,选择,textarea,复选框。 – Shugar

+0

@Shugar不幸的是,在我运行该脚本的页面上没有这样的元素。 – yuu

回答

0

如果有在网页上没有输入的元素,让我们添加一个:

EVENT TYPE=KEYPRESS CHAR="a" MODIFIERS="ctrl" 
EVENT TYPE=KEYPRESS CHAR="c" MODIFIERS="ctrl" 
WAIT SECONDS=1 

URL GOTO=javascript:(function(){var<SP>t=document.createElement("input");t.setAttribute("id","tempInput");document.body.appendChild(t);})(); 
EVENT TYPE=CLICK SELECTOR="#tempInput" BUTTON=0 
URL GOTO=javascript:(function(){var<SP>t=document.querySelector("#tempInput");document.body.removeChild(t);})(); 

显然,这个解决方案很不理想,但它确实工作(除“iMacros都为火狐” v.9.0.3 )。

+0

谢谢你的回答。不幸的是,我无法测试它,因为我总是得到一个TypeError:无法读取Chromium中undefined,line:2'属性的'错误'。也许我的设置有问题(Lubuntu 16.04 32bit,Chromium 59.0.3071.109)。 Firefox的一个非常粗略的解决方案(我正在使用)是使用'REFRESH'重新加载页面。 – yuu

+0

如果您使用'iMacros for Firefox'v.9.0.3,请尝试将其降级至v.8.9.7。 (有史以来最好的版本。)这个代码也必须为你工作。 – Shugar

+0

您的解决方案适用于v.8.9.7。我将编辑我的问题以包含我使用的iMacro版本。 – yuu

相关问题