循环点击网页按钮,属性一直变,其中的一种处理方法

最近有小伙伴遇到一个问题是,在循环点击网页按钮,属性一直变。遇到类似这样的问题应该挺多的。
现在发现了一种方法可以解决。
具体实现步骤如下:

循环点击网页按钮,属性一直变,其中的一种处理方法

在鼠标点击属性的路径选项中,把路径改为最后一个,这样你编译过后生成的代码可能如下格式:

"""iie.do_click_pos(win_title=r'*BPM流程设计器 - Internet Explorer',url=r'http://59.206.6.122:8382/
service/editor?id=48a8f535-8997-11e9-b0a9-727c2fd808e6&havePost=1&haveUser=1&haveRole=1
&haveOrgan=1&v=1562912137627&app_code=INSPUR-DZZW-TYSP',selector=r'body > 
DIV:nth-of-type(23) > DIV:nth-of-type(1) >IMG:nth-of-type(1)',button=r'left',curson=r'center',times=1
,run_mode=r'unctrl',waitfor=10,scroll_view='no')"""

当你关闭网页,在此点击后,得到的代码,可能是这样:

"""iie.do_click_pos(win_title=r'*BPM流程设计器 - Internet Explorer',url=r'http://59.206.6.122:8382/
service/editor?id=48a8f535-8997-11e9-b0a9-727c2fd808e6&havePost=1&haveUser=1&haveRole=
1&haveOrgan=1&v=1562912137627&app_code=INSPUR-DZZW-TYSP',selector=r'body >
DIV:nth-of-type(24) > DIV:nth-of-type(1) >IMG:nth-of-type(1)', button=r'left',curson=r'center',
times=1, run_mode=r'unctrl',waitfor=10, scroll_view='no')"""

对比两段代码,可以发现,是在第一个 DIV 的位置,数字发生了变化,若重复再来一次的话,应该就是 25 了,是递增的。
当然也有可能是没有规律的,如果没有规律,或者有规律,都可用下列方式.
流程截图如下:

循环点击网页按钮,属性一直变,其中的一种处理方法

"""既,将代码中变动的数字,通过range循环的方式传进去,如:iie.do_click_pos(win_title=r'*BPM流程设计器 - 
InternetExplorer',url=r'http://59.206.6.122:8382/service/editor?id=48a8f535-8997-11e9-b0a9-
727c2fd808e6&havePost=1&haveUser=1&haveRole=1&haveOrgan=1&v=1562912137627&app_code
=INSPUR-DZZW-TYSP',selector=r'body >DIV:nth-of-type(%s) > DIV:nth-of-type(1) >
IMG:nth-of-type(1)'%i, button=r'left',curson=r'center', times=1, run_mode=r'unctrl',
waitfor=10, scroll_view='no')

这样,只要取到了当前的正确的index,就能点击到了,不是正确的index,也无需担心,是不会点击的,用try捕捉一下,异
常就pass掉。

注意,这里在代码作点击这块,加了前置延时,防止每匹配上,乱点,匹配上了,代码块后面跟一个break跳出循环。

注意:若匹配什么都会做点击,那就不适用了。"""