<iframe class="artDialog-iframe" src="/trade/drugpurContract/toChoosePsModel.html?procurecatalogId=ZYPF002504" name="choosePsThu May 08 2025 22:41:48 GMT+0800 (中国标准时间)" width="100%" height="100%" allowtransparency="yes" frameborder="no" scrolling="auto" style="display: inline;" uia-uid="0|1"></iframe>
<iframe class="artDialog-iframe" src="/trade/drugpurContract/toChoosePsModel.html?procurecatalogId=ZYPF002504" name="choosePsThu May 08 2025 22:53:46 GMT+0800 (中国标准时间)" width="100%" height="100%" allowtransparency="yes" frameborder="no" scrolling="auto" style="display: inline;" uia-uid="0|3"></iframe>
<iframe class="artDialog-iframe" src="/trade/drugpurContract/toChoosePsModel.html?procurecatalogId=ZYPF002504" name="choosePsThu May 08 2025 23:09:40 GMT+0800 (中国标准时间)" width="100%" height="100%" allowtransparency="yes" frameborder="no" scrolling="auto" style="display: inline;"></iframe>
我用的是EDGE浏览器。网页存在多个输入框,每个输入框点进去之后会弹出选项列表的弹窗。上述给出的iframe属性均是选项列表点击时生成的,并且每次点击会均生成一个新的,主要是名称中增加点击时间的变量,导致定位iframe中的元素时,定位到的元素会越来越多,无法选中。
我现在想每次都在最新生成的iframe中使用xpath定位。
目前没想到好的解决方案,如果每次刷新页面不显示,一页的输入框多的有几十个。
第一种:想的是提取所有iframe的name属性,在用文本提取或者正则提取出对应的时间,判断出最大的时间,然后利用iframe的name属性和contains函数对iframe进行定位。但是不会操作。
第二种:弹窗弹出和未弹出的弹窗之间的iframe不知道有没有display这种状态属性,但是对比了一下都没找到。