这两行不能按预期运行:
wait until element is visible ${my xpath}
SeleniumLibrary.click element ${my xpath}
第二行出现故障的时间大约是一半。我现在不在电脑前,但是它要么因 stale element 而失败,要么因找不到ID为...的元素... 。
如果我在行之间添加sleep 3
左右,则第二行永远不会失败。
这两行经常工作,但也经常失败。 RF如何检测可见的东西以及Selenium如何将点击发送到同一元素有什么区别?
答案 0 :(得分:1)
简而言之,要回答您的问题,在RF如何检测到可见的事物与硒如何向同一元素发出点击之间没有区别。我查看了Selenium的源代码,并且两个函数都使用相同的locator参数。
@keyword
def click_element(self, locator, modifier=False, action_chain=False):
和
@keyword
def wait_until_element_is_visible(self, locator, timeout=None, error=None):
我建议使用的关键字是
wait until page contains element ${my xpath}
这允许在查找元素之前完全加载网页。
答案 1 :(得分:0)
您可以在第一个关键字中包含自定义超时,而不使用睡眠。
Wait Until Element Is Visible ${my xpath} 3 seconds
Click Element ${my xpath}