我有一个简单的方案,即在Google中搜索产品并应用一些过滤器。这里,在应用第二个过滤器时,需要在第一个过滤器过程选择完成之前等待。
例如,我在Google中搜索“Galaxy”,从结果页面导航到购物,过滤“Samsung Note”并应用第二个钳工“新项目”。
尝试应用第二个过滤器时始终失败并出现以下错误。
Error: unknown error: Element is not clickable at point (78, 445). Other element would receive the click: <div id="flyr" class="flyr-o" style="width: 927px; height: 5012px; top: 120px;"></div>
我可以做setTimeout()和1000s延迟,它工作正常。然而,将这种手工制作的等待放在GUI自动化中的不良做法之一,将使测试不确定。使用webdriver.io处理此问题的最佳方法是什么。
PS:我已经尝试了所有waitFor *命令,包括waitUntil,似乎没有任何帮助。
答案 0 :(得分:1)
我手动运行了测试,并在页面底部找到了隐藏的div#flyr
块。我不确定它是什么,或者什么时候隐藏,但是你需要等待它。这应该等到它被隐藏(1000ms)。
browser.waitForVisible(`div#flyr`, 1000, true);